如何更改 AlertDialog 的主题

2024-03-11

我想知道是否有人可以帮助我。我正在尝试创建一个自定义的 AlertDialog。为了做到这一点,我在 styles.xml 中添加了以下代码行

<resources>
 <style name="CustomAlertDialog" parent="android:Theme.Dialog.Alert">
  <item name="android:windowBackground">@drawable/color_panel_background</item>
 </style>
</resources>
  • color_panel_background.9.png 位于可绘制文件夹中。 Android SDK res 文件夹中也提供了该文件。

以下是主要活动。

package com.customdialog;

import android.app.Activity;
import android.app.AlertDialog;
import android.app.Dialog;
import android.content.DialogInterface;
import android.os.Bundle;

public class CustomDialog extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        this.setTheme(R.style.CustomAlertDialog);
        AlertDialog.Builder builder = new AlertDialog.Builder(this);
        builder.setMessage("HELLO!");
        builder .setCancelable(false)
          .setPositiveButton("Yes", new DialogInterface.OnClickListener() {
           public void onClick(DialogInterface dialog, int id) {
               //MyActivity.this.finish();
           }
       })
       .setNegativeButton("No", new DialogInterface.OnClickListener() {
           public void onClick(DialogInterface dialog, int id) {
               //dialog.cancel();
           }
       });

        AlertDialog alertdialog = builder.create();
        alertdialog.show();
    }
}

为了将主题应用到 AlertDialog,我必须将主题设置为当前上下文。

但是,我似乎无法让应用程序显示自定义的 AlertDialog。谁能帮我解决这个问题吗?


在 Dialog.java (Android src) 中使用了 ContextThemeWrapper。所以你可以复制这个想法并做类似的事情:

AlertDialog.Builder builder = new AlertDialog.Builder(new ContextThemeWrapper(this, R.style.AlertDialogCustom));

然后按照你想要的方式设计它:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <style name="AlertDialogCustom" parent="@android:style/Theme.Dialog">
        <item name="android:textColor">#00FF00</item>
        <item name="android:typeface">monospace</item>
        <item name="android:textSize">10sp</item>
    </style>
</resources>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何更改 AlertDialog 的主题 的相关文章

  • 如何从 Java 中的 String 获取类引用?

    如果我需要返回一个基于字符串实例化的类 例如 从 JSON 创建逻辑 应该如何编写 我最初的想法是一个 switch 但在 Android 框架的 Java 版本中 看起来 switch 语句不允许使用字符串 接下来的想法是 HashMap
  • SpinnerAdapter 中 getView 和 getDropDownView 的区别

    当你实现 SpinnerAdapter 时 你会得到获取下拉视图 http developer android com reference android widget SpinnerAdapter html getDropDownView
  • 停止在列表视图中滚动

    我的活动中有一个列表视图和一个图像按钮 当我单击图像按钮时 我想转到列表中的特定位置 我通过调用列表上的 setSelection intposition 来实现此目的 当用户滑动列表视图然后单击图像按钮时会出现问题 列表将转到指定位置但继
  • 未找到 ADB screenrecord 命令

    我无法奔跑adb shell screenrecord sdcard my mp4 我尝试运行此命令的设备规格 Honor 5C 安卓6 0 每当我运行 screenrecord 命令时 它都会显示未找到命令 D adb gt adb sh
  • 如何在 PercentRelativeLayout 中使用layout_aspectRatio?

    我尝试在视图上实现 16 9 的纵横比PercentRelativeLayout https developer android com reference android support percent PercentRelativeLa
  • Android Wear - 在没有 WearableListenerService 的情况下从 Wear 接收消息?

    我正在开发一款适用于 Android Wear 的应用程序 它可以在手机上启动活动 一切都很好 但我不想依赖手机上不断运行的后台服务来接收此消息 理想情况下 我会让 WearableListenerService 与应用程序同时启动 并保持
  • Android 4.3 虚拟设备 CPU/ABI - 未安装系统映像(eclipse)

    I m trying to set up a new device but I can not continue with the process I think it s because the target version is 4 3
  • 在 Android Studio 中使用预构建的共享库

    我需要在我的 android 项目中使用自定义的预构建共享库 在独立 ndk 上构建为 libdynamic so 我在路径 src main 中创建了一个文件夹 jniLibs 然后在其中创建了 4 个文件夹 即 armeabi arme
  • Room - LiveData 观察器在数据库更新时不会触发

    我试图在下面的代码中找出 为什么在我用新数据填充数据库后 Room 的 LiveData observable 不会给我新的转变 这是放在我的活动的 onCreate 方法中 shiftsViewModel ViewModelProvide
  • 如何在Android上获取角度中的按键事件?

    我们如何在 Android 上的 Angular 中获取按键事件及其值 我使用phonegap Cordova Angular JS
  • 改造添加带有令牌和 ID 的标头

    我在获取经过身份验证的用户时遇到问题 在此之前我得到了令牌和用户 ID 现在我需要使用访问令牌和 ID 从服务器获取用户 我有标题格式 https i stack imgur com OQ87Y png 现在我尝试使用拦截器添加带有用户令牌
  • setOnTouchListener() 给我一个错误

    button setOnTouchListener new OnTouchListener public void onClick View v Toast makeText MainActivity this YOUR TEXT 5000
  • 如何在 Google 地图中创建自定义地图?

    我正在尝试创建一个包含我家地图的 Google 地图应用程序 卧室 浴室 厨房等 使用 GPS 我会找到我现在在家里的位置 并尝试获取到我卧室的方向 步行距离 您可以使用Google的API来获取方向 我需要知道的是 如何添加我家的自定义地
  • 以编程方式安装 Android apk 作为测试框架的一部分

    我正在尝试以编程方式安装 apk 但运气不佳 我正在设置一个针对物理设备的自动化测试框架 并且我希望测试设备在运行测试之前从构建服务器检索最新的 apk 虽然我知道没有通用的方法可以在未经用户同意的情况下实际安装 apk 但我很好奇在开发人
  • 什么是“多重”启动模式?

    On http developer android com guide topics manifest activity element html http developer android com guide topics manife
  • SWIG C 函数指针和 JAVA

    我有一些 C 代码 其中一个方法有一个函数指针作为参数 我正在尝试在我的 Android 应用程序中使用 C 代码 我决定使用 SWIG 来完成生成我需要的 java 文件的所有工作 一切都适用于常规函数 没有函数指针作为参数的函数 但我不
  • AAR 可以包含传递依赖吗? [复制]

    这个问题在这里已经有答案了 现在我有一个库项目 比如项目 Foo 它依赖于像 OkHttp 这样的库 现在 Foo 有一个 Maven 构建步骤 可以生成 AAR 并将其推送到公共位置 现在假设我有项目 B 我们将其称为 Bar Bar是一
  • OnSwipe 方法在 RecyclerView 中不起作用

    我正在开发一个用于播放音频文件的应用程序 创建了包含 2 个选项卡的选项卡布局 两者中都使用了片段RecyclerView两者都被使用 该片段名为LibraryFragment有这个RecycleView其物品在刷卡时必须传递给HomeFr
  • 智能手机可以通过 3G/4G 进行点对点通信吗?

    我正在尝试编写一个应用程序 将数据从一个 Android 设备传输到另一个 Android 设备 但这些设备很可能位于城市 州或国家的不同部分 直接的方法是拥有一台中央服务器 或任何类型的服务器 但我试图避免使用中央服务器 我试图传递的数据
  • 如何在不显示父活动的情况下将一个全屏对话框片段替换为另一个全屏对话框片段?

    我有一个使用单个自定义 DialogFragment 类的活动 它的外观是数据驱动的 因此不同的调用看起来可能相当不同 它是 全屏 即 setStyle DialogFragment STYLE NO FRAME android R sty

随机推荐

  • C# 如何检查字典中的所有值是否相同?

    我有一个字典 我想编写一个方法来检查该字典中的所有值是否相同 词典类型 Dictionary
  • PostgreSql:获取格式奇怪的“带时区的时间戳”

    我正在将字段类型 带有时区的时间戳 字符串 1858 11 17 01 09 05 0000 插入到表中 并返回 stage 格式化值 05 11 29 04 02 24 这是会话 test gt create table ddtbl va
  • 当 Ruby 中需要文件时,技术上会发生什么?

    如果我有一个名为app rb这需要另一个名为foo rb Ruby 在幕后做了什么来使定义的常量foo rb变得可用在app rb 来自 Yukihiro Matsumoto 的 Ruby 编程语言 使用 load 或 require 加载
  • TrustedInstaller 正在阻止注册表写入 HKCR\DirectShow\MediaObjects\Categories

    我正在尝试安装需要我写入的 DMOHKCR DirectShow MediaObjects Categories 57f2db8b e6bb 4513 9d43 dcd2a6593125 此注册表路径受 TrustedInstaller 保
  • Xcode 4 的调试区域变量列表中的图标是什么意思?

    有谁能够提供 Xcode 4 调试区域变量列表中标记图标的明确指南吗 这是我目前拥有的清单 我不明白他们的意思 这不直观 例如 我有 BOOL 和 NSMutableString 对象 它们都带有绿色的 i 图标 我无法在 Xcode 文档
  • PlayFramework 多个 SLF4J 绑定

    我正在尝试完成一些模型的一些基本单元测试 但是我收到以下错误 现在看来我有两个 SLF4J 绑定 这是因为我使用的是 Mahout 它有一个版本的 SLF4J 而 Play 有它自己的版本 谁能告诉我如何解决这个问题 SLF4J 参见htt
  • 在 WooCommerce 中的产品 (Schema.org) 的结构化数据中添加 ean 代码 (gtin)

    我使用此代码片段在 Woocommerce 的产品架构中显示 gtin 的 ean 值 add filter woocommerce structured data product filter woocommerce structured
  • 将类实例存储到文件/数据库的最佳方法

    将类的实例存储到文件 数据库的最佳方法是什么 我们有一个名为 Command 的基类和大量派生类 用户通过向图形设计器添加命令来创建这些类的实例 他们可以在哪里配置它们 设置属性 然后我们需要一种方法将这些 命令 存储到文件中而不丢失 任何
  • 如何在opencv 4.1.0中实现LSD

    我在我的开放简历项目中实施了 LSD 一切都很顺利 直到我将 opencv 版本从 4 0 0 升级到 4 1 0 现在我得到的错误是 cv2 error OpenCV 4 1 0 io opencv modules imgproc src
  • 是否可以在 Android Studio 中本地调试 Google Play 的应用内结算?

    我在本地测试应用内订阅产品时遇到此错误 需要进行身份验证 您需要登录您的谷歌帐户 我能够检查该产品的库存 但我是否也应该能够购买它 有很多关于为什么会发生此错误的帖子 我认为这些帖子已得到解决 该产品在测试版渠道中发布 并启用应用内计费 我
  • Python,通过提取字符和数字子串来解析字符串

    我有一个字符串 是由某种机器学习算法产生的 通常由多行组成 在开头和结尾处可以有一些不包含任何字符 空格除外 的行 并且在它们之间应该有 2 行 每行包含一个单词 后跟一些数字和 有时 其他字符 像这样的东西 first word 3 5
  • .NET 代码混淆真的值得吗?

    据我所知 代码混淆其实并不难 破解 它只会推迟不可避免的事情 那么 它的目的是什么 如果有人真的想窃取您的资源 他们可以 如果有人出于无害 有用的目的需要查看您的源代码 他们就不能 您可能不应该在代码中存储任何敏感内容 因此这不应该成为问题
  • OFFSET 命令附近的语法不正确

    为什么这不起作用并给我一个 偏移命令附近的语法不正确 错误 SELECT o orderdate o orderid o empid o custid FROM Sales Orders o ORDER BY o orderdate o o
  • 实时绘制 pandas 数据框

    我是新来的matplotlib并尝试显示我通过函数 read API 从 api 下载的三个变量的最后一小时数据的实时图 数据位于带有 DateTimeIndex 的 pandas 数据框中 例如 In dframe head Out A
  • 如何获取ContainerRequest中的会话对象可以使用注释@RolesAllowed(Role_user)?

    我正在使用 App Engine 和 Jersey 构建一个应用程序 我想使用注释 RolesAllowed Role user 谁允许在请求中创建过滤器 问题是我们需要配置类SecurityContextFilter 我的目标是获得id存
  • 编译 Lua - 创建 .so 文件?

    我正在 Centos 6 5 上编译 Lua 5 2 3 编译 安装工作正常 但是 我还需要编译另一个程序的开发库 我通常会通过这样做来安装它们 yum install lua devel 问题是安装 Lua 5 1 共享库 而不是 5 2
  • 是否可以在android的上下文菜单(系统菜单)中添加一些项目

    当我输入一些文本并按住它时 上下文菜单会显示剪切 复制 选择文本等项目 有什么方法可以将我自己的自定义项目添加到此上下文菜单中吗 我不知道这件事是如何工作的 但我想应该可以在清单中注册一些东西 就像注册活动和广播一样 Thanks 欢迎任何
  • Android 房间@Relation 左加入

    假设我有两个实体 问题和答案 它们具有一对多关系 每个问题可能有 0 n 个答案 它们定义为 Entity tableName questions data class Question PrimaryKey val id Long val
  • 在 qt linux 中保存配置

    我为Linux编写了一个qt应用程序 该应用程序应该在启动时运行 我 用桌面条目做的 但我需要它更复杂 用户应该检查一个复选框 以便选择应用程序是否在启动时运行 我该如何保存他的偏好 该应用程序之前是为 Windows 编写的 并且保存在注
  • 如何更改 AlertDialog 的主题

    我想知道是否有人可以帮助我 我正在尝试创建一个自定义的 AlertDialog 为了做到这一点 我在 styles xml 中添加了以下代码行