android - 如何为警告对话框文本添加颜色
问题描述
我想在警报框(file1,file2...file4)中为文本添加白色,但它本身显示默认颜色黑色。 这是我的java代码
if (storagePermissionGrant()) {
final Activity activity = this;
String[] items = {"file1", "file2", "file3", "file4"};
ContextThemeWrapper ctw = new ContextThemeWrapper(this, R.style.re);
AlertDialog.Builder builder = new AlertDialog.Builder(ctw);
builder.setTitle("Menu")
.setItems(items, (dialog, which) -> {
switch (which) {
case 0:
MediaUtils.openfile1(activity);
break;
case 1:
MediaUtils.openfile2(activity);
break;
case 2:
MediaUtils.openfile3(activity);
break;
case 3:
MediaUtils.openfile4(activity);
break;
default:
return;
}
});
builder.show();
}
这是我的 style.xml 代码
<style name="re" parent="@android:style/Widget.Holo.ActionBar.Solid">
<item name="android:background">@color/colorPrimary</item>
<item name="colorAccent">#fff</item>
<!--title-->
<item name="android:textColor">#fff</item>
<!--text-->
<item name="android:textColorPrimary">#fff</item>
<!--selection list-->
<item name="android:textColorTertiary">#fff</item>
</style>
解决方案
简单地说,您只需使用以下代码更改“file1”文本:
Html.fromHtml("<font color='#FFFFFF'>file1</font>")
此代码将根据您添加的颜色值完全改变您的文本颜色。所以你的字符串数组应该是这样的:
String[] items = {
Html.fromHtml("<font color='#FFFFFF'>file1</font>"),
Html.fromHtml("<font color='#FFFFFF'>file2</font>"),
Html.fromHtml("<font color='#FFFFFF'>file3</font>"),
Html.fromHtml("<font color='#FFFFFF'>file4</font>")};
推荐阅读
- python - 在没有 Rollbar Heroku 插件的 Heroku 应用程序中添加 Rollbar
- android - 如何测试 Google Play 安装引用库
- google-cloud-platform - 如何使用 GCP 上的 terraform 在宿主项目中使用已配置的共享 VPC 在服务项目中旋转 VM?
- php - readfile() 用于视频流?
- android - jks 或 pkcs12:我应该使用哪一个来为 Google Play 商店的 apk 签名?
- objective-c - NSTask 输出到列表中
- javascript - 通过元素的 id 触发样式的任何形式
- flutter - (Flutter) 使用库 flutter_datetime_picker 的自定义日期选择器模型中的错误
- django - 为什么我的 Django REST Framework 视图集 URL 没有解析?
- java - 即使授予了所有权限,也不会从 splashactivity 转到 mainactivity。在获得许可之前应询问许可