当前位置: 首页 > news >正文

培训中心网站建设西地那非片多少钱一盒

培训中心网站建设,西地那非片多少钱一盒,重庆做网站建设的公司,网站靠什么挣钱出现Only fullscreen opaque activities can request orientation是谷歌爸爸在安卓8.0版本时为了支持全面屏,增加了一个限制:如果是透明的Activity,则不能固定它的方向,因为它的方向其实是依赖其父Activity的(因为透明…

出现Only fullscreen opaque activities can request orientation是谷歌爸爸在安卓8.0版本时为了支持全面屏,增加了一个限制:如果是透明的Activity,则不能固定它的方向,因为它的方向其实是依赖其父Activity的(因为透明)。然而这个bug只有在8.0中有,8.1中已经修复。还有种原因是代码中手动取消App启动白屏或者黑屏的时候,将Splash界面设为了透明,然后这个时候又设置了方向为垂直,从而导致了这个问题。总结具体原因有两种:

1.Activity的风格为透明,在manifest文件中指定了一个方向,则在onCreate中崩溃

2.Activity的风格为透明,如果调用setRequestedOrientation方法固定方向,就会崩溃

解决方法

方法一:

1.找到你设置透明的Activity,然后在他的theme中将android:windowIsTranslucent改为false

即:<item name="android:windowIsTranslucent">false</item>

2.再加入<item name="android:windowDisablePreview">true</item>就搞定了。

方法二:

        如果项目结构复杂,并不适合去修改配置文件,则通过下面这段代码,写是BaseActivity的成员方法,其中稍难的就是如何获取com.android.internal.R$styleable.Window这个stylable,记住$这个符号是等于代码中的“.”反射是需要写成$,stylable其实是R的内部类,获取到这个数组,就可以用反射调用ActivityInfo#isTranslucentOrFloating()这个方法了。

private boolean isTranslucentOrFloating(){boolean isTranslucentOrFloating = false;try {int [] styleableRes = (int[]) Class.forName("com.android.internal.R$styleable").getField("Window").get(null);final TypedArray ta = obtainStyledAttributes(styleableRes);Method m = ActivityInfo.class.getMethod("isTranslucentOrFloating", TypedArray.class);m.setAccessible(true);isTranslucentOrFloating = (boolean)m.invoke(null, ta);m.setAccessible(false);} catch (Exception e) {e.printStackTrace();}return isTranslucentOrFloating;}

在onCreate的时候,先判断,如果透明,直接把方向改为SCREEN_ORIENTATION_UNSPECIFIED:

@Overrideprotected void onCreate(Bundle savedInstanceState) {if (Build.VERSION.SDK_INT == Build.VERSION_CODES.O && isTranslucentOrFloating()) {boolean result = fixOrientation();}super.onCreate(savedInstanceState);}private boolean fixOrientation(){try {Field field = Activity.class.getDeclaredField("mActivityInfo");field.setAccessible(true);ActivityInfo o = (ActivityInfo)field.get(this);o.screenOrientation = -1;field.setAccessible(false);return true;} catch (Exception e) {e.printStackTrace();}return false;}

然后在重写setRequestedOrientation设置方向的时候如果透明,直接不执行:

@Overridepublic void setRequestedOrientation(int requestedOrientation) {if (Build.VERSION.SDK_INT == Build.VERSION_CODES.O && isTranslucentOrFloating()) {return;}super.setRequestedOrientation(requestedOrientation);}

链接:https://www.jianshu.com/p/f26774dc0f2e
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

http://www.tj-hxxt.cn/news/122395.html

相关文章:

  • 网站服务器服务商百度代理服务器
  • 日照网站建设专业定制简述网络推广的方法
  • 在建工程查询网站今天刚刚发生的新闻台湾新闻
  • 禅城做网站大数据平台
  • 重庆专业网站建设百度入驻绍兴
  • 新乡网站制作关键词排名点击软件怎样
  • 如何买域名发布网站高级搜索指令
  • 福州网站关键词推广百度官网认证
  • 网站备案号在哪里免费二级域名分发平台
  • 如何做各大网站广告链接最新资讯热点
  • 专业做生鲜的网站好在线网站分析工具
  • 更改wordpress主题语言包网络优化app哪个好
  • 滨州网站建设招聘专业放心关键词优化参考价格
  • 网站开发的基本流程 岗位及职责网络营销的方式都有哪些
  • 网站的整体风格包括技术短期培训班
  • 受欢迎的宜昌网站建设有什么公司要做推广的
  • 网站建设模式有哪些合肥新闻 今天 最新消息
  • 建站公司费用情况优化大师免费版下载
  • 大型行业门户网站开发建设公众号seo排名优化
  • 哪里有网站开发团队济南网站优化公司
  • 织梦医疗网站百度电脑版
  • 怎么开网站做网红短视频获客系统
  • 优酷视频接到网站怎么做郑州网站优化推广
  • 网站建设公司运营经验软文广告营销
  • 网站建设毕业设计引言怎么写世界500强企业排名
  • 湖南专业做网站公司有哪些东莞疫情最新消息今天中高风险区
  • 正规企业网站开发使用方法网站模板下载
  • 公司网站制作站制作东莞网站设计
  • 搭建网站的企业什么是搜索引擎营销
  • 湖北最专业的公司网站建设平台roseonly企业网站优化