Theme.Holo主题下按钮自动变大的问题是由于 该主题中通过 <item name="buttonStyle">@android:style/Widget.Holo.Button</item> 定义了 按钮的最小高度和宽度:
<style name="Widget.Holo.Light.Button" parent="Widget.Button">
<item name="android:background">@android:drawable/btn_default_holo_light</item>
<item name="android:textAppearance">?android:attr/textAppearanceMediumInverse</item>
<item name="android:textColor">@android:color/primary_text_holo_light</item>
<item name="android:minHeight">48dip</item>
<item name="android:minWidth">64dip</item>
</style>
解决方案就是 自定义一个Theme继承自 Theme.Holo,并覆盖 buttonStyle这个属性,实例如下:
<style name="AppTheme" parent="@android:style/Theme.Holo">
<item name="android:windowActionBarOverlay">false</item>
<item name="android:windowBackground">@android:color/black</item>
<item name="android:actionBarStyle">@style/TranslucentDarkActionBar</item>
<item name="android:windowNoTitle">true</item>
<item name="android:buttonStyle">@style/App.Button</item>
</style>
<style name="App.Button" parent="@android:style/Widget.Button">
<item name="android:background">@android:drawable/btn_default</item>
<item name="android:textAppearance">?android:attr/textAppearanceMedium</item>
<item name="android:textColor">@color/color_25a6ff</item>
<item name="android:minHeight">5dip</item>
<item name="android:minWidth">5dip</item>
</style>