title: How to change material designed dialog positive button background correctly
body: <p>I have the following dialog</p>
  
  <p><a href="https://i.stack.imgur.com/odAEM.png" rel="noreferrer"><img src="https://i.stack.imgur.com/odAEM.png" alt="enter image description here"></a></p>
  
  <p>It is created by using the following code</p>
  
  <pre><code>@Override
  public Dialog onCreateDialog(Bundle savedInstanceState) {
      Random random = new Random();
      // 0 or 1.
      final int value = random.nextInt(2);
      final int title = R.string.we_love_you_0; 
      final int content = R.string.rate_us_with_5_stars_review_0;
  
      final AlertDialog dialog = new AlertDialog.Builder(this.getActivity())
      .setTitle(title)
      .setMessage(content)
      // Add action buttons
      .setPositiveButton(R.string.rate_5_stars, new DialogInterface.OnClickListener() {
          @Override
          public void onClick(DialogInterface dialog, int id) {
          }
      })
      .setNegativeButton(R.string.no, new DialogInterface.OnClickListener() {
          public void onClick(DialogInterface dialog, int id) {
          }
      })
      .setNeutralButton(R.string.later, new DialogInterface.OnClickListener() {
          public void onClick(DialogInterface dialog, int id) {
          }
      })
      .create();
  
      dialog.setCanceledOnTouchOutside(false);
  
      return dialog;
  }
  </code></pre>
  
  <p>Since, we want to draw user attention on the positive button (RATE 5 STARS). We tend to</p>
  
  <ul>
  <li>Have a white button text color</li>
  <li>Have a blue button background color</li>
  </ul>
  
  <p>We add the following code, just before returning <code>dialog</code></p>
  
  <pre><code>    dialog.setOnShowListener(new DialogInterface.OnShowListener() {
           @Override
           public void onShow(DialogInterface d) {
               Button positiveButton = dialog.getButton(AlertDialog.BUTTON_POSITIVE);
               positiveButton.setTextColor(rateAppDialogPositiveButtonTextColor);
               positiveButton.setBackgroundColor(rateAppDialogPositiveButtonBackgroundColor);
           }
       });
  </code></pre>
  
  <p>We get the following outcome</p>
  
  <p><a href="https://i.stack.imgur.com/9vTdW.png" rel="noreferrer"><img src="https://i.stack.imgur.com/9vTdW.png" alt="enter image description here"></a></p>
  
  <p>It doesn't achieve what we want as</p>
  
  <ul>
  <li>The positive button lost its default margin and padding information.</li>
  <li>The positive button pressed ripple selector behavior gone.</li>
  </ul>
  
  <p>This is how it is being compared, with normal button pressed. In our case, when we press on the positive button, no visual change.</p>
  
  <p><a href="https://i.stack.imgur.com/TsNtW.png" rel="noreferrer"><img src="https://i.stack.imgur.com/TsNtW.png" alt="enter image description here"></a></p>
  
  <p>Is there a proper way to change material designed dialog positive button background, without losing its default margin, padding and ripple selector behavior?</p>