Android:如何在不使用自定义布局的情况下更改AlertDialog标题文本颜色和背景颜色?

Android:如何在不使用自定义布局的情况下更改AlertDialog标题文本颜色和背景颜色?,第1张

概述我想在不使用自定义布局的情况下更改AlertDialog标题颜色和背景颜色.我的要求我尝试了以下代码,但无法正常工作.finalCharSequence[]items={"VisitingCard","PrescriptionLetter"};AlertDialog.Builderbuilder=newAlertDialog.Builder(activity);bui

我想在不使用自定义布局的情况下更改AlertDialog标题颜色和背景颜色.我的要求

我尝试了以下代码,但无法正常工作.

final CharSequence[] items = {" Visiting Card", "Prescription Letter"};AlertDialog.Builder builder = new AlertDialog.Builder(activity);            builder.setMessage(message)            .setTitle(Title).setCancelable(false);    builder.setItems(items, (dialog, item) -> {    });    AlertDialog dialog = builder.create();            dialog.show();    int textVIEwID = dialog.getContext().getResources().getIDentifIEr("androID:ID/alertTitle", null, null);    TextVIEw tv = dialog.findVIEwByID(textVIEwID); // It always returns null    if (tv != null) {        tv.setTextcolor(activity.getResources().getcolor(R.color.white));        tv.setBackgroundcolor(activity.getResources().getcolor(R.color.colorPrimary));}

使用我尝试过的以下几行,但它总是在findVIEwByID中返回null,

int textVIEwID = dialog.getContext().getResources().getIDentifIEr("androID:ID/alertTitle", null, null);TextVIEw tv = dialog.findVIEwByID(textVIEwID);

我也尝试使用样式,但是它只会更改标题文字的颜色,

<style name="AppCompatAlertDialogStyle" parent="theme.AppCompat.light.Dialog.Alert">    <item name="colorAccent">@color/colorAccent</item>    <item name="androID:background">#ffffff</item>    <item name="androID:textcolor">@color/white</item>    <item name="androID:headerBackground">@color/colorPrimary</item></style>

解决方法:

您可以在警报对话框中使用自定义标题:

TextVIEw textVIEw = new TextVIEw(context);textVIEw.setText("Select an option");textVIEw.setpadding(20, 30, 20, 30);textVIEw.setTextSize(20F);textVIEw.setBackgroundcolor(color.CYAN);textVIEw.setTextcolor(color.WHITE);final CharSequence[] items = {"Visiting Card", "Prescription Letter"};AlertDialog.Builder builder = new AlertDialog.Builder(context);builder.setCustomTitle(textVIEw);builder.setItems(items, (dialog, item) -> {    }).show();

总结

以上是内存溢出为你收集整理的Android:如何在不使用自定义布局的情况下更改AlertDialog标题文本颜色和背景颜色?全部内容,希望文章能够帮你解决Android:如何在不使用自定义布局的情况下更改AlertDialog标题文本颜色和背景颜色?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1081366.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-27
下一篇 2022-05-27

发表评论

登录后才能评论

评论列表(0条)

保存