6

我正在尝试将这个 AlertDialog 的三个项目设为绿色。问题是当前警报后面出现绿色背景,并且其中两个项目未显示为绿色。我目前使用以下代码设置 AlertDialog 的样式:

final AlertDialog.Builder builder = new AlertDialog.Builder(new ContextThemeWrapper(getActivity(), R.style.ListRow));

在我的styles.xml 中,我有这种风格:

<style name="ListRow">
    <item name="android:background">@color/forest_green</item>
    <item name="android:textSize">18sp</item>
    <item name="android:textColor">@color/dialog_text</item>
</style>

在此处输入图像描述

4

5 回答 5

0

您可以像这样以编程方式设置自定义视图..

LayoutInflater inflater = getLayoutInflater();
View dialoglayout = inflater.inflate(R.layout.dialog_layout, (ViewGroup) getCurrentFocus());
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setView(dialoglayout);
builder.show();

在您的布局中创建具有绿色背景的 dialog_layout.xml。

于 2016-01-18T07:08:24.897 回答
0

Theme.AppCompat.Dialog.Alert以父级定义对话框样式:

 <style name="AlertDialog" parent="Theme.AppCompat.Dialog.Alert">
    <item name="android:background">@color/green</item>
    ...
</style>

资料来源: http: //www.materialdoc.com/alerts/

于 2017-07-28T12:26:04.353 回答
0

这对我有用。他们都有背景。

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

builder.setIcon(android.R.drawable.ic_dialog_info).setTitle("welcome")
        .setMessage("...")
        .setPositiveButton("login", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which)
            {
                Intent intent = new Intent(HomeActivity.this, LoginActivity.class);
                startActivity(intent);
            }
        }).setNegativeButton("register", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which)
            {
                Intent intent = new Intent(getApplicationContext(),RegisterActivity.class);
                startActivity(intent);
            }
        }).show();
于 2016-01-18T10:32:32.030 回答
0

尝试这个:

    final AlertDialog ad = new AlertDialog.Builder(new ContextThemeWrapper(this, R.style.AppTheme)).create();

添加按钮;和

    for (int i = 0; i < 2;i++) {
        Button b = ad.getButton(i);
        b.setBackgroundColor(color);
    }
    ad.show();

改变你的主题和颜色。

于 2018-07-03T17:38:19.907 回答
-1

像这样使用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>

于 2013-10-09T07:46:31.163 回答