Holoテーマのデフォルトのボタンは少し透明な画像で構成されているため、ICS / JBでこの問題に遭遇しました。背景については、これは特に顕著です。
ジンジャーブレッドとICS +:
 
 
各解像度のすべての描画可能な状態と画像をコピーし、透明な画像を塗りつぶすのは面倒なので、私は汚れた解決策を選択しました:背景が白いホルダーにボタンをラップします。以下は、まさにそれを行う粗雑なXMLドローアブル(ButtonHolder)です。
あなたのXMLファイル
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              style="@style/Content">
  <RelativeLayout style="@style/ButtonHolder">
      <Button android:id="@+id/myButton"
              style="@style/Button"
              android:text="@string/proceed"/>
    </RelativeLayout>
</LinearLayout>
ButtonHolder.xml
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
  <item>
    <shape android:shape="rectangle">
      <solid android:color="@color/white"/>
    </shape>
  </item>
</layer-list>
styles.xml
.
.
.      
  <style name="ButtonHolder">
    <item name="android:layout_height">wrap_content</item>
    <item name="android:layout_width">wrap_content</item>
    <item name="android:background">@drawable/buttonholder</item>
  </style>
  <style name="Button" parent="@android:style/Widget.Button">
    <item name="android:layout_height">wrap_content</item>
    <item name="android:layout_width">wrap_content</item>
    <item name="android:textStyle">bold</item>
  </style>
.
.
.
ただし、ホロボタンの画像には、押されたスペースに対応するためのマージンが含まれているため、白い境界線になります。
 
 
したがって、解決策は、白の背景にマージン(4 dpがうまく機能した)と丸みを帯びた角(2 dp)を与えて、白を完全に非表示にし、ボタンを無地にすることです。
ButtonHolder.xml
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
  <item>
    <shape android:shape="rectangle">
      <solid android:color="@android:color/transparent"/>
    </shape>
  </item>
  <item android:top="4dp" android:bottom="4dp" android:left="4dp" android:right="4dp">
    <shape android:shape="rectangle">
      <solid android:color="@color/white"/>
      <corners android:radius="2dp" />
    </shape>
  </item>
</layer-list>
最終的な結果は次のようになります。
 
 
このスタイルはv14 +をターゲットにし、Gingerbread / Honeycombは微調整または除外する必要があります。これは、ネイティブボタンの画像サイズがICSおよびJBと異なるためです(たとえば、Gingerbreadボタンの背後にあるこの正確なスタイルは、ボタンの下に小さな白をもたらします)。