java - 如何在警报对话框中将标题和正/负按钮设为黑色

标签 java android xml android-alertdialog

我当前的警报对话框看起来像右边的,我希望它看起来像左边的。

enter image description here

我想我可以通过更改自定义对话框的主题来做到这一点,但我不确定这是否正确,如果是这样,那么如何进行? 我是否可以自定义更改正/负按钮?

我不想创建自定义对话框,因为按钮在警报对话框中显示的方式非常适合我。

类似于 http://developer.android.com/guide/topics/ui/dialogs.html 中右边的那个

这就是我到目前为止所做的,

    AlertDialog.Builder builder = new AlertDialog.Builder(LoginSignupActivity.this);
    LayoutInflater inflater = getLayoutInflater();  
    builder.setView(inflater.inflate(R.layout.newusersignup, null)).setTitle("Sign up");
    builder.setPositiveButton("OK", new DialogInterface.OnClickListener() {}
    //etc

我的 xml 看起来像

<TextView
    android:id="@+id/newUsersTxtName"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true"
    android:text="Enter your name"
    android:textColor="@color/white"
    android:textAppearance="?android:attr/textAppearanceSmall" />

<TextView
    android:id="@+id/newUserTxtPassword"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_below="@+id/newUsersName"
    android:text="Enter password"
    android:textColor="@color/white" />

<EditText
    android:id="@+id/newUsersName"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_below="@+id/newUsersTxtName"
    android:ems="10"
    android:textColor="@color/white"
    android:inputType="text" >

    <requestFocus />
</EditText>

<EditText
    android:id="@+id/newUserPassword"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_below="@+id/newUserTxtPassword"
    android:ems="10"
    android:textColor="@color/white"
    android:inputType="textPassword" />

<EditText
    android:id="@+id/newUserEmail"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_below="@+id/newUserTxtEmail"
    android:ems="10"
    android:textColor="@color/white"
    android:inputType="textEmailAddress" />

<TextView
    android:id="@+id/newUserTxtEmail"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_below="@+id/newUserPassword"
    android:text="Enter your email"
    android:textColor="@color/white"
    android:textAppearance="?android:attr/textAppearanceSmall" />

最佳答案

我将通过“styles.xml”中的自定义样式进行更改,例如

    <?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="AlertDialogCustom" parent="@android:style/AlertDialog">
    <item name="android:textColor">#00FF00</item>
    <item name="android:typeface">monospace</item>
    <item name="android:textSize">10sp</item>
</style>

Source

也可以通过编程方式执行此操作:

AlertDialog.Builder customBuilder = new AlertDialog.Builder(new ContextThemeWrapper(this,android.R.style.Theme_Dialog));

customBuilder.setTitle(R.string.popup_error_title);
customBuilder.setNegativeButton("Exit application", new DialogInterface.OnClickListener() {  
                public void onClick(DialogInterface dialog, int which) {  
                    MyActivity.this.finish();
                }  
        });
AlertDialog dialog = customBuilder.create();
    dialog.show();

Button b = dialog.getButton(DialogInterface.BUTTON_NEGATIVE);
if(b != null)
        b.setBackgroundDrawable(getResources().getDrawable(R.drawable.my_button))

Source

编辑:styles.xml 文件将放置在\main\res\values 文件夹中

关于java - 如何在警报对话框中将标题和正/负按钮设为黑色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19498218/

相关文章:

java - 创建名称为 'Test_flow' : Cannot create inner bean '(inner bean) 的 bean 时出错

java - 同一对象的 JUnit 测试

android - 微调器 onItemSelected() 没有被调用

sql - 如何让BCP生成用于将固定宽度数据导入SQL Server表的格式文件?

java - 无法启动 Activity 组件错误:Binary XML file line #2: Error inflating class <unknown>

java - TableView 中带有额外元素的 ObservableList

java - 尝试在 Android 中获取所有 SMS 消息时出现 NullPointerException

java - 使用 CMake 时如何在 Gradle 构建脚本中设置 NDK 路径?

安卓工作室 : Duplicate files copied in APK META-INF/DEPENDENCIES when compile

xml - 在 Perl 中对 XML 数据进行 XPath 查询的最简单方法是什么?