我有两个按钮,其中一个具有默认样式,另一个具有自定义背景可绘制:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<corners android:radius="4dp" />
<solid android:color="@color/green" />
</shape>
最后按钮如下所示:
因此默认按钮在某种程度上小于具有自定义背景的按钮,尽管它们具有相同的属性:
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/bg_button_rounded_green"
android:text="Positive"
android:textColor="@color/white"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Negative"/>
自定义背景似乎改变了minHeight。如何使这个按钮看起来一样?
答案 0 :(得分:0)
btn_default_normal.9.png
是Android中从任何特定平台设置为默认Button
小部件的默认图像。在SDK
安装中找到此文件并复制到res
文件夹。
查找android-sdk\platforms\android-APILEVEL\data\res
答案 1 :(得分:0)
默认按钮具有默认的9补丁背景,具有自己的边距,阴影等(不同的Android版本不同)。您必须为两个按钮使用自定义背景,或采用默认的9补丁背景之一,并为正按钮创建类似的bg。
答案 2 :(得分:0)
默认的Holo Android按钮图形是一个特意包含填充的PNG。如果你按住,你会发现按钮周围出现了一个光晕......它占用了那个间距。
答案 3 :(得分:0)
按钮的默认9补丁图像使用可绘制填充。为了在你自己的drawable中模仿它,你可以使用insets。类似的东西:
<inset xmlns:android="http://schemas.android.com/apk/res/android"
android:drawable="@drawable/bg_button_rounded_green" android:insetBottom="10dip"
android:insetLeft="10dip" android:insetRight="10dip" android:insetTop="10dip" />
我会告诉你应该是什么值。