样式AlertDialog提交按钮和标题

时间:2016-01-18 01:31:03

标签: java android

我正在设计我的AlertDialog。我已经成功地设置了背景样式(请参见蓝色)和单项选项(请参阅白色和橙色文本)。

是否可以设置AlertDialog标题背景,页脚提交按钮和页脚背景的样式?有关以红色突出显示的这些区域,请参见下图。 是否可以使AlertDialog具有圆角矩形?

如您所见,我可以将标题标签背景颜色设置为蓝色而不是整个标题背景?

enter image description here

实现:

AlertDialog.Builder builder = new AlertDialog.Builder(new ContextThemeWrapper(mActivity, R.style.AlertDialogCustom));
builder.setTitle("Select");

ArrayAdapter<CharSequence> adapter = new ArrayAdapter<CharSequence>(
        getActivity(), R.layout.choices, choices);
builder.setSingleChoiceItems(adapter, -1, myOnClickListener);


// Styles.xml
<?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:textSize">10sp</item>
        <item name="android:background">#0000ff</item>
        <item name="android:fontFamily">fonts/myCustomFont.ttf</item>
    </style>
</resources>


// choices.xml
<?xml version="1.0" encoding="utf-8"?>
<CheckedTextView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@android:id/text1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:minHeight="?android:attr/listPreferredItemHeight"
    android:textAppearance="?android:attr/textAppearanceListItemSmall"
    android:fontFamily="fonts/myCustomFont.ttf"
    android:textColor="@color/theme_orange"
    android:gravity="center_vertical"
    android:ellipsize="marquee"
    android:text="Text"
    android:background="#fff"
    android:paddingLeft="16dip"
    android:paddingRight="7dip"/>

2 个答案:

答案 0 :(得分:0)

您可以使用自定义布局(xml文件)代替此,并在那里添加所有要求。 然后将该视图设置为对话框:

builder.setView(R.layout.custom_view);

另外,请不要忘记删除标题here

答案 1 :(得分:0)

在此链接中,我展示了如何设置Alert AlertDialog提交按钮和标题。它还显示了如何自定义AletDialog。例如,如何更改分隔符colro等。请访问此链接:

https://stackoverflow.com/a/33439849/5475941

我希望它有所帮助。