[Android学习]对话框在android6.0以上版本不显示按钮文字 - Go语言中文社区

[Android学习]对话框在android6.0以上版本不显示按钮文字


最近半个月又写点android了(时隔2年半)

事情是这样的.用Weex做的App 的对话框在某些手机上对话框能显示按钮,有些不能显示

如图



锁定问题

1)是否修改过对话框Native的对话框代码?是否修改过对话框调用Weex的JS代码?

2)哪些手机能再现?哪些不能?

3)能再现该问题的手机 Weex的Playground的代码是否正常运行?该正常运行代码能否在自己工程里面正常运行?


锁定结果

1)没有修改过Native的对话框代码也没有修改过Weex的JS代码,

2)android版本6.0以上的手机再现,6.0以下的手机可以正常显示

3)6.0以上的WeexPlayground代码能正常运行.在自己工程里面不能正常运行.


调查路线

1)调查对话框在6.0以上有什么变化?

2)自己工程依赖的控件包是否是指定的正常的包?

2)查看控件的布局边界该按钮是否存在。


调查结果

1)5.0以上android的增加了权限询问,很多文档上说需要设置这两权限。

    <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
    <uses-permission android:name="android.permission.SYSTEM_OVERLAY_WINDOW" />
对这两个权限抱有疑问,文档上面说的是:只有该对话框是处于所有App顶层的时候才需要,一般App不需要。

删除这两个权限设置后发现也是可以运行的。

android权限说明请参考: 链接


2)自己工程包的依赖的对话框的包是正常的,有些博客上说自己依赖的包版本不是5.0以上,导致对话框文字不能显示。

查看自己的包依赖如下:android.support.v7.app.AlertDialog


3)打开设置-开发者选项-布局边界,Alert的控件的边界是存在的,按下按钮颜色是灰色以及文字都可以显示出来。


调查关键位置:

既然控件在,按下的颜色也有,则说明只是按钮的文字的颜色问题。

如果对话框没有设置自己的主题颜色,则采用的是AppTheme

在Styles.xml中设置Style。也可以直接使用AppTheme



结果在Color.xml的数值里面 colorAccent为FFFFFF的原因,导致按钮颜色看不见。

修改colorAccent的值为主体颜色后对话框显示正常。





扩展:

增加自己的Style: 

https://isming.me/2015/08/31/modify-alert-style/


以及AppTheme中的各个变量对应的内容

http://www.aoaoyi.com/archives/623.html


参考页面:

http://blog.csdn.net/s1991721/article/details/76054028






版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/lq83623/article/details/76066948
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2021-05-31 12:43:05
  • 阅读 ( 765 )
  • 分类:

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢