修改原生dialog_android 修改系统的dialog样式

本文介绍了如何修改Android系统的Dialog样式,包括通过修改XML配置文件和在代码中动态设置,涉及对话框的颜色、字体、边框等。同时,文章提到了自定义Dialog样式可能存在的兼容性问题,并给出了相应的解决方案。
摘要由CSDN通过智能技术生成

android 修改系统的dialog样式

一、觉得自定义配置文件麻烦?那就来修改系统自定义XML文件来实现修改系统dialog的样式吧。

如果是在XML中样式:首先来说下样式。

在 Style.xml 文件(如果没有该文件就创建一个XML名为Style.xml)

@null

true

false

true

@null

false

@null

如果想要去掉背景色边框也就去掉了,在你的层中设置背景色就可以了

第二步在AndroidManifest.xml中在你注册activity中加入android:theme="@style/myDialogTheme" 这个名就是上面的样式名称

弹出层方法:

Intent intent=new Intent(Detail_Goods.this,LoginDialog.class);

startActivity(intent);

二、回到重点,如果更改系统层的dialog样式:(建议不要使用,因为现在定制机太多,很多机型上会出错)

比如说、想改dialog按钮的颜色、dialog标题的颜色、dialog线条的颜色、dialog去掉标题、dialog去掉标题上线条的颜色等等,都可以在这个方法之上使用

其中

setTextColor

setBackgroundColor

改为自定义颜色代码即可。

 /**

* AlertDialog 样式

* @author:dujinyang

*/

public Dialog setAlertDialogStyle(AlertDialog.Builder alertDialogs) {

Dialog dialog = alertDialogs.show();

Context context = dialog.getContext();

int themeColor = getResources().getColor(R.color.theme_color);

int msgColor = getResources().getColor(R.color.medium_gray);

final int titleDivider = context.getResources().getIdentifier("titleDivider", "id", "android");

View titleDividerImg = dialog.findViewById(titleDivider);

titleDividerImg.setVisibility(View.VISIBLE);

titleDividerImg.setBackgroundColor(themeColor);

final int contentPanel = context.getResources().getIdentifier("contentPanel", "id", "android");

LinearLayout contentPanelLayout = (LinearLayout) dialog.findViewById(contentPanel);

contentPanelLayout.setVisibility(View.VISIBLE);

final int message = conte

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值