有谁知道如何覆盖AlertDialog按钮的默认样式?我已经浏览了Android源代码中的主题和样式,并尝试了不同的东西,但我还没有找到一种有效的方法.
我下面的内容适用于更改背景,但对按钮没有任何作用.通过清单myTheme
应用于整体<application>
.(为清楚起见,删除了其他一些项目,但它们仅与标题栏相关.)
<style name="myTheme" parent="android:Theme">
<item name="android:buttonStyle">@style/customButtonStyle</item>
<item name="android:alertDialogStyle">@style/dialogAlertTheme</item>
</style>
<style name="dialogAlertTheme" parent="@android:style/Theme.Dialog.Alert">
<item name="android:fullDark">@drawable/dialog_loading_background</item>
<item name="android:topDark">@drawable/dialog_alert_top</item>
<item name="android:centerDark">@drawable/dialog_alert_center</item>
<item name="android:bottomDark">@drawable/dialog_alert_bottom</item>
<!-- this last line makes no difference to the buttons -->
<item name="android:buttonStyle">@style/customButtonStyle</item>
</style>
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
如何在Xamarin.Android中显示消息框?如何从消息框中获得是或否的响应?
- - 更新 :
myBtn.Click += (sender, e) =>
{
new AlertDialog.Builder(this)
.SetMessage("hi")
.Show();
};
Run Code Online (Sandbox Code Playgroud) 你能帮我搞清楚为什么我的警报对话框黑了?!
最近我更改了我的应用主题以支持材料设计,但我的警报对话框变黑了!
这是我的创建对话框代码:
AlertDialog.Builder alertDialog = new AlertDialog.Builder(TestActivity.this);
alertDialog.setCancelable(true);
alertDialog.setTitle("sample");
alertDialog.setItems(new String[] { "a", "b" }, new OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
}
});
alertDialog.show();
Run Code Online (Sandbox Code Playgroud)
它是我的主要风格和对话风格
<style name="MaterialTheme" parent="Theme.AppCompat.NoActionBar">
<item name="android:alertDialogStyle">@style/AppDialog</item>
<item name="android:alertDialogTheme">@style/AppDialog</item>
<item name="android:textColor">@color/black</item>
<item name="android:textColorPrimary">@color/black</item>
<item name="android:dialogTheme">@style/AppDialog</item>
<item name="colorPrimaryDark">@color/myPrimaryDarkColor</item>
<item name="android:textColorHint">@color/gray_1</item>
<item name="colorAccent">@color/myAccentColor</item>
<item name="drawerArrowStyle">@style/DrawerArrowStyle</item>
<item name="android:windowBackground">@color/black</item>
</style>
<style name="AppDialog" parent="Theme.AppCompat.Light.Dialog.Alert">
<item name="colorAccent">#FFC107</item>
<item name="android:textColorPrimary">#FFFFFF</item>
<item name="android:background">#4CAF50</item>
</style>
Run Code Online (Sandbox Code Playgroud)