android8.0采坑 Only fullscreen opaque activities can request orientation

2021-10-29 11:18:17 浏览数 (1)

android8.0采坑 Only fullscreen opaque activities can request orientation

也就是说只有全屏不透明的activity才可以设置方向,既然知道问题所在就好办了。

找到你设置透明的Activity,然后在他的theme中加入如下配置。

代码语言:javascript复制
<item name="android:windowIsTranslucent">false</item>
<item name="android:windowDisablePreview">true</item>

但是我的项目使用的是第三方的库com.ycjiang:imgepreviewlibrary:1.1.3 之前使用点击图片预览大图imgepreviewlibrary都是一次性成功的,但是今天在新的产品上使用,却一直报错,无语。没办法只能自定义activity了。

1.我们自定义一个activity, ImageLookActivity

代码语言:javascript复制
public class ImageLookActivity extends GPreviewActivity {
    /***
     * 重写该方法
     * 使用你的自定义布局
     **/
    @Override
    public int setContentLayout() {
        return R.layout.activity_image_look;
    }
}
代码语言:javascript复制
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".activity.ImageLookActivity">
	<!--这个布局是jar包中的-->
    <include layout="@layout/activity_image_preview_photo"/>

</FrameLayout>
代码语言:javascript复制
GPreviewBuilder.from(ModelDetailActivity.this)
						//这里使用我们自定义的activity
                        .to(ImageLookActivity.class)
                        .setData(mThumbViewInfoList)
                        .setCurrentIndex(position)
                        .setSingleFling(true)
                        .setType(GPreviewBuilder.IndicatorType.Number)
//                            .setType(GPreviewBuilder.IndicatorType.Dot)
                        .start();//启动

点击预览的效果图

0 人点赞