如何更改AlertDialog的主题我想知道是否有人能帮我。我正在尝试创建一个自定义AlertDialog。为了做到这一点,我在styes.xml中添加了以下代码行<resources>
<style name="CustomAlertDialog" parent="android:Theme.Dialog.Alert">
<item name="android:windowBackground">@drawable/color_panel_background</item>
</style></resources>png位于可绘制文件夹中。这也可以在AndroidSDKRES文件夹中找到。以下是主要活动。package com.customdialog;import android.app.Activity;import android.app.AlertDialog;import android.app.Dialog;import android.content.DialogInterface;import android.os.Bundle;public class CustomDialog extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
this.setTheme(R.style.CustomAlertDialog);
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setMessage("HELLO!");
builder .setCancelable(false)
.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
//MyActivity.this.finish();
}
})
.setNegativeButton("No", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
//dialog.cancel();
}
});
AlertDialog alertdialog = builder.create();
alertdialog.show();
}}为了将主题应用于AlertDialog,我必须将主题设置为当前上下文。然而,我似乎无法让应用程序显示定制的AlertDialog。有人能帮我解决这个问题吗?
3 回答
![?](http://img1.sycdn.imooc.com/533e4d660001312002000200-100-100.jpg)
慕妹3146593
TA贡献1820条经验 获得超9个赞
<style name="AppBaseTheme" parent="android:Theme.Holo.Light"> ... <item name="android:alertDialogTheme">@style/MyAlertDialogTheme</item> <item name="android:alertDialogStyle">@style/MyAlertDialogStyle</item> ...</style><style name="MyBorderlessButton"> <!-- Set background drawable and text size of the buttons here --> <item name="android:background">...</item> <item name="android:textSize">...</item></style><style name="MyButtonBar"> <!-- Define a background for the button bar and a divider between the buttons here --> <item name="android:divider">....</item> <item name="android:dividerPadding">...</item> <item name="android:showDividers">...</item> <item name="android:background">...</item></style><style name="MyAlertDialogTitle"> <item name="android:maxLines">1</item> <item name="android:scrollHorizontally">true</item></style><style name="MyAlertTextAppearance"> <!-- Set text size and color of title and message here --> <item name="android:textSize"> ... </item> <item name="android:textColor">...</item></style><style name="MyAlertDialogTheme"> <item name="android:windowBackground">@android:color/transparent</item> <item name="android:windowTitleStyle">@style/MyAlertDialogTitle</item> <item name="android:windowContentOverlay">@null</item> <item name="android:windowMinWidthMajor">@android:dimen/dialog_min_width_major</item> <item name="android:windowMinWidthMinor">@android:dimen/dialog_min_width_minor</item> <item name="android:windowIsFloating">true</item> <item name="android:textAppearanceMedium">@style/MyAlertTextAppearance</item> <!-- If you don't want your own button bar style use @android:style/Holo.Light.ButtonBar.AlertDialog and ?android:attr/borderlessButtonStyle instead of @style/MyButtonBar and @style/MyBorderlessButton --> <item name="android:buttonBarStyle">@style/MyButtonBar</item> <item name="android:buttonBarButtonStyle">@style/MyBorderlessButton</item></style><style name="MyAlertDialogStyle"> <!-- Define background colors of title, message, buttons, etc. here --> <item name="android:fullDark">...</item> <item name="android:topDark">...</item> <item name="android:centerDark">...</item> <item name="android:bottomDark">...</item> <item name="android:fullBright">...</item> <item name="android:topBright">...</item> <item name="android:centerBright">...</item> <item name="android:bottomBright">...</item> <item name="android:bottomMedium">...</item> <item name="android:centerMedium">...</item></style>
- 3 回答
- 0 关注
- 1398 浏览
添加回答
举报
0/150
提交
取消