我正在设计我的AlertDialog
。我已经成功地设置了背景样式(请参见蓝色)和单项选项(请参阅白色和橙色文本)。
是否可以设置AlertDialog
标题背景,页脚提交按钮和页脚背景的样式?有关以红色突出显示的这些区域,请参见下图。 是否可以使AlertDialog
具有圆角矩形?
如您所见,我可以将标题标签背景颜色设置为蓝色而不是整个标题背景?
实现:
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"/>
答案 0 :(得分:0)
您可以使用自定义布局(xml文件)代替此,并在那里添加所有要求。 然后将该视图设置为对话框:
builder.setView(R.layout.custom_view);
另外,请不要忘记删除标题here。
答案 1 :(得分:0)
在此链接中,我展示了如何设置Alert AlertDialog提交按钮和标题。它还显示了如何自定义AletDialog。例如,如何更改分隔符colro等。请访问此链接:
https://stackoverflow.com/a/33439849/5475941。
我希望它有所帮助。