按钮的 minHeight 和 minWidth 由默认主题在某处设置。将它们都设置为 1dp 解决了这种情况下的问题。
<Button
android:id="@+id/settingsEditInfoBtn"
android:minHeight="1dp"
android:minWidth="1dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/edit_info_btn" />
或者,您可以在应用程序主题中设置按钮样式,覆盖所有按钮的这些值。在值/themes.xml 中:
<style name="MyTheme" parent="android:Theme">
<item name="android:buttonStyle">@style/MyButtonStyle</item>
</style>
<style name="MyButtonStyle" parent="android:style/Widget.Button">
<item name="android:minHeight">1dp</item>
<item name="android:minWidth">1dp</item>
</style>
然后,不要忘记将自定义主题应用于 AndroidManifest.xml 中的任何所需活动:
<activity
android:name=".MainActivity"
android:theme="@style/MyTheme"
</activity>