Android – 更改应用程序中所有对话框的对话框标题样式

有没有办法可以改变我的Android应用程序中出现的所有警报对话框? 我想要更改系统生成的对话框( 如在长按任何EditText时打开的“编辑文本”对话框 )。 我想改变我的应用程序中所有对话框的标题字体颜色和大小。

有没有办法做到这一点?

我曾尝试在我的主题中设置android:alertDialogTheme 。 但它似乎不起作用。 代码如下 –

 <style name="Theme.DLight" parent="android:Theme.Light.NoTitleBar"> <item name="android:alertDialogTheme">@style/DialogStyle</item> </style> 

 <style name="DialogStyle" parent="android:Theme" > <item name="android:windowBackground">@drawable/background_holo_light</item> <item name="android:textColor">#014076</item> </style> 

编辑

我没有从我的代码调用对话框。 这只是您长时间点击任何EditText时出现的默认对话框。 一般来说,它包含了select字,全选,input法等键盘选项。

Solutions Collecting From Web of "Android – 更改应用程序中所有对话框的对话框标题样式"

在你的对话框主题中,你需要修改windowTitleStyle的属性。 在那里,为你的标题引用一个样式,并为这个标题定义一个文本外观。 例如,要显示标题红色和粗体:

 <style name="DialogStyle" parent="android:Theme"> ... <item name="android:windowTitleStyle">@style/DialogWindowTitle_Custom</item> </style> <style name="DialogWindowTitle_Custom" parent="@style/DialogWindowTitle_Holo"> <item name="android:maxLines">1</item> <item name="android:scrollHorizontally">true</item> <item name="android:textAppearance">@style/TextAppearance_DialogWindowTitle</item> </style> <style name="TextAppearance_DialogWindowTitle" parent="@android:style/TextAppearance.Holo.DialogWindowTitle"> <item name="android:textColor">@android:color/holo_red_light</item> <item name="android:textStyle">bold</item> </style> 

如果您想要更多地使用AlertDialog,我写了一篇详细介绍步骤的博客文章 。

 import android.app.ProgressDialog; import android.content.Context; import android.view.animation.Animation; public class MyProgressDialog extends ProgressDialog { public MyProgressDialog(Context context) { super(context,R.style.NewDialog); // TODO Auto-generated constructor stub } } 

// RESOURCE STYLE FILE res-> values-> mydialog.xml

 <?xml version="1.0" encoding="utf-8"?> <resources> <style name="NewDialog" parent="@android:style/Theme.Dialog"> <item name="android:windowFrame">@null</item> <item name="android:windowBackground">@android:color/transparent</item> <item name="android:windowIsFloating">true</item> <item name="android:windowContentOverlay">@null</item> <item name="android:windowTitleStyle">@null</item> <item name="android:colorBackground">#ffffff</item> <item name="android:windowAnimationStyle">@android:style/Animation.Dialog</item> <item name="android:windowSoftInputMode">stateUnspecified|adjustPan</item> <item name="android:backgroundDimEnabled">true</item> <item name="android:width">30dip</item> <item name="android:height">30dip</item> <item name="android:textColor">#FF0000</item> </style> </resources> 

//并且可以在您的应用程序中随时随地使用此代码获取自定义进度对话框

 MyProgressDialog pd = new MyProgressDialog(YouActivity.this); pd.setMessage("Loading. Please wait..."); pd.show(); 

谢谢 :)