我创建了一个自定义按钮并将其放在drawable文件夹中,代码如下:
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="#f50057" />
<padding
android:left="30dp"
android:top="0dp"
android:right="30dp"
android:bottom="0dp" />
<corners android:radius="5dp" />
</shape>
我使用上面作为按钮的背景,按钮占据了太多的空间垂直,尽管我已经将填充为0dp。能否请你帮我减少按钮垂直占用的空间。
布局代码:
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/start_button"
android:background="@drawable/myrect"
android:focusable="false"
android:text="Start"
android:layout_below="@+id/expandview"
android:layout_centerHorizontal="true" />
答案 0 :(得分:2)
只需在布局XML中指定所需的按钮高度和宽度即可。即
<Button
android:layout_width="50dp"
android:layout_height="50dp"
android:id="@+id/start_button"
android:background="@drawable/myrect"
android:focusable="false"
android:text="Start"
android:layout_below="@+id/expandview"
android:layout_centerHorizontal="true" />
如果你想在drawable ....那么
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="#f50057" />
<padding
android:left="30dp"
android:top="0dp"
android:right="30dp"
android:bottom="0dp" />
<corners android:radius="5dp" />
<size
android:height="50dp"
android:width="50dp" />
</shape>
答案 1 :(得分:2)
android按钮视图具有最小高度,因此如果你想要更小的东西,你必须用
覆盖它android:minHeight
就像在这段代码中一样:
<Button
android:id="@+id/btn_cancel"
android:layout_width="120dp"
android:layout_height="wrap_content"
android:layout_marginRight="10dp"
android:minHeight="10dp"
android:paddingBottom="5dp"
android:paddingTop="5dp"
android:text="@string/cancel"
android:textColor="@color/white" />
然后你可以明显看出layout_height参数,但是如果你的值低于48 dp(默认的最小高度)它就不会起作用。例如,Button视图的最小宽度为64 dp。
答案 2 :(得分:2)
您可以使用 size 标记指定drawable和按钮高度的大小,width将是wrap_content
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="#f50057" />
<padding
android:left="30dp"
android:top="0dp"
android:right="30dp"
android:bottom="0dp" />
<corners android:radius="5dp" />
<size android:height="50dp"
android:width="50dp"/>
</shape>
或者您可以为此特定按钮指定高度和宽度
只需在布局xml中指定所需的按钮高度和宽度即可。即
<Button
android:layout_width="50dp"
android:layout_height="50dp"
android:id="@+id/start_button"
android:background="@drawable/myrect"
android:focusable="false"
android:text="Start"
android:layout_below="@+id/expandview"
android:layout_centerHorizontal="true" />