使用主题更改对话框样式

时间:2012-04-15 15:41:00

标签: java android

我想知道是否有一种简单的方法可以告诉Android始终使用自定义样式来显示Dialogs

使用主题和样式,您可以在themes.xml中定义主题时使用此代码更改所有内容(例如TextViews)的外观:

<item name="android:textViewStyle">@style/Blue.TextView</item>

在styles.xml中定义了Blue.TextView。

是否有某种方法可以为Dialogs执行此操作?

2 个答案:

答案 0 :(得分:0)

是的,有。例如,

AlertDialog.Builder b = new AlertDialog.Builder(context, R.style.MyTheme);

或者,如果您使用DialogFragment,只需拨打setStyle()方法,

答案 1 :(得分:0)

<style
    name="Theme_Dialog_Translucent"
    parent="android:Theme.Dialog">
    <item
        name="android:windowBackground">@null</item>
</style>

以下是工作代码::

Dialog mDialog = new Dialog(this,R.style.ThemeDialogCustom);
mDialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
mDialog.setCanceledOnTouchOutside(true); //But here It is not workin
mDialog.setContentView(R.layout.popup);