[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
原文:https://blog.csdn.net/lq83623/article/details/76066948
版权声明:本文为博主原创文章,转载请附上博文链接!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值