title: Android button background color changes button size
body: <p>I am using a built-in theme for my Android app: </p>
  
  <pre><code>&lt;style name="AppTheme" parent="android:Theme.Black"&gt;
      &lt;!-- Customize your theme here. --&gt;
  &lt;/style&gt;
  </code></pre>
  
  <p>I am happy with that theme, except I want to change the background color of a button. Here is how it looks by default:</p>
  
  <p><img src="https://i.stack.imgur.com/wQ7qv.png" alt="default"></p>
  
  <p>Here's what happens when I add a background color to this button (<code>android:background="@color/play_bg"</code>):</p>
  
  <p><img src="https://i.stack.imgur.com/ToDvG.png" alt="enter image description here"></p>
  
  <p>Hey!? It basically changed all the button's size, padding and margins!</p>
  
  <p>So I managed to get the expected result using the <code>backgroundTint</code> property (<code>android:backgroundTint="@color/play_bg"</code>):</p>
  
  <p><img src="https://i.stack.imgur.com/HubAE.png" alt="enter image description here"></p>
  
  <p>Unfortunately, this is only supported since version 21 of the API, which is not acceptable for me.</p>
  
  <p>So two questions:</p>
  
  <ul>
  <li>Why does changing the background messes with the rest of the button's properties?</li>
  <li>How do I get the expected result without <code>backgroundTint</code>?</li>
  </ul>
  
  <p>And a bonus question: How can I get the expected result programmatically (I have dynamic buttons in my app, so this would be very useful)?</p>