我在应用中使用材料设计主题。我试图在应用程序中显示 Material Design 对话框,但在对话框中没有显示正面和负面按钮。下面是我的代码:
new MaterialAlertDialogBuilder(getActivity())
.setMessage("Do you want to close this application ?")
.setNegativeButton("NO", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
})
.setPositiveButton("YES", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(getApplicationContext,"Hello",Toast.LENGTH_SHORT).show();
}
}).show();
themes.xml
<resources xmlns:tools="http://schemas.android.com/tools">
<!-- Base application theme. -->
<style name="Theme.Caketale" parent="Theme.MaterialComponents.Light">
<!-- Primary brand color. -->
<item name="colorPrimary">@color/primary</item>
<item name="colorPrimaryVariant">@color/primaryDark</item>
<item name="colorOnPrimary">@color/white</item>
<item name="colorSecondary">@color/accent</item>
<item name="colorSecondaryVariant">@color/accent</item>
<!-- Secondary brand color. -->
<!-- <item name="colorSecondary">@color/teal_200</item> -->
<!-- <item name="colorSecondaryVariant">@color/teal_700</item> -->
<item name="colorOnSecondary">@color/black</item>
<!-- Status bar color. -->
<item name="android:statusBarColor" tools:targetApi="l">?attr/colorPrimaryVariant</item>
<!-- Customize your theme here. -->
</style>
</resources>
我该如何解决这个问题?
答案 0 :(得分:1)
要将其与设计库一起使用,请使用此样式。
<style name="AlertDialogTheme" parent="Theme.MaterialComponents.Light.Dialog.Alert">
<item name="colorPrimary">@color/colorAccent</item>
</style>
然后你就这样使用它。
AlertDialog.Builder builder = new AlertDialog.Builder(this, R.style.AlertDialogTheme);
builder.setTitle("AppCompatDialog");
builder.setMessage("Lorem ipsum dolor...");
builder.setPositiveButton("OK", null);
builder.setNegativeButton("Cancel", null);
builder.show();