三星手机Dialog不显示按钮的坑

本来简简单单的弹个Dialog出来,代码都不好意思粘出来

AlertDialog.Builder builder = new AlertDialog.Builder(this,R.style.buttonDialog)
                        .setTitle(R.string.not_wifi)
                        .setNegativeButton(R.string.video_cancel, new DialogInterface.OnClickListener() {
                            @Override
                            public void onClick(DialogInterface dialog, int which) {

                            }
                        })
                        .setPositiveButton(R.string.video_continue, new DialogInterface.OnClickListener() {
                            @Override
                            public void onClick(DialogInterface dialog, int which) {
                                play();
                            }
                        });
                notWifiDialog = builder.create();

结果一运行:
这里写图片描述
这什么鬼啊????关键是在按钮区域单击还能够响应,但是文字呢????
检查代码没问题啊!查找资料builder的创建时序也是对的啊!可按钮就是不出来。

去开发者模式开启“显示布局边界”一看,艹坑爹呢吧
这里写图片描述

可以看出按钮的边界确实存在但是文字并没有显示,我创建的Dialog没指定style使用的是系统啊!然后怀疑是否其他人改了某属性,翻遍了项目没有发现证据支持。改而怀疑手机系统的弹框属性,证据在这:
这里写图片描述

这个弹框是MediaController因加载视频失败而弹出的系统框,它也没有显示按钮。
知道了原因就好办了,改style呗,创建Dialog时指定style就OK了;
至于怎么改自己去找吧!这方面的资料挺多的

<style name="buttonDialog"
        parent="@style/Theme.AppCompat.Light.Dialog.Alert">
        <item name="colorAccent">#000000</item>
    </style>

这里写图片描述

至于系统弹框按钮不显示,直接修改AppTheme修改全局的dialog就可以了,也不赘述;
最后再鄙视一把三星,按钮颜色弄成纯白坑爹呢!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值