0

How can I change the default text and background color of Dialog buttons (setPositiveButton, setNeutralButton)?

public void onBackPressed(){
       if(webView.canGoBack()) {
           webView.goBack();
       }else{
       AlertDialog.Builder dialog = new AlertDialog.Builder(this);
       dialog.create();
       dialog.setTitle("Confirmation ...");
       dialog.setMessage("Are you sure ! \nYou want to exit from app ?");
       dialog.setCancelable(false);

       dialog.setPositiveButton("Yes", (dialogInterface, which) -> finish());
       dialog.setNeutralButton("Cancel", MainActivity::onClick);
       dialog.show();
   }
}
MayorJay
  • 89
  • 7
noobcoder
  • 1
  • 4
  • Take a look at this: https://stackoverflow.com/questions/38609262/change-text-color-of-alert-dialog Hope it helps. –  Feb 21 '22 at 19:53

1 Answers1

0

If your AppTheme is inherited from Theme.AppCompat:

<style name="AlertDialogTheme" parent="ThemeOverlay.AppCompat.Dialog.Alert">
    <item name="buttonBarPositiveButtonStyle">@style/PositiveButtonStyle</item>
    <item name="buttonBarNeutralButtonStyle">@style/NeutralButtonStyle</item>
</style>
<style name="PositiveButtonStyle" parent="Widget.AppCompat.Button.ButtonBar.AlertDialog">
    <item name="android:textColor">#FFFFFF</item>
    <item name="android:background">#F44336</item>
    <item name="android:width">90dp</item>
    <item name="android:padding">0px</item>
</style>
<style name="NeutralButtonStyle" parent="Widget.AppCompat.Button.ButtonBar.AlertDialog">
    <item name="android:textColor">#F44336</item>
    <item name="android:background">#FFEB3B</item>
    <item name="android:width">90dp</item>
</style>

Use your AlertDialogTheme in your AppTheme

<item name="alertDialogTheme">@style/AlertDialogTheme</item>
noobcoder
  • 1
  • 4