如何在Android布局中删除Spinner按钮内的额外内部填充?

时间:2014-05-04 04:34:39

标签: android android-button

我正在尝试创建一个看起来像Spinner的Button。

我是通过创建一个这样的按钮来完成的:

    <Button
        android:id="@+id/dateButton"
        android:layout_width="150dp"
        android:layout_height="wrap_content"
        android:layout_toRightOf="@+id/dateLabel"
        android:text="default text"
        android:textSize="15sp"
        style="?android:attr/spinnerStyle"
        android:gravity="center_vertical|center_horizontal" />  

问题是Button内的文本(&#34;默认文本&#34;)似乎在它周围有额外的填充,这使得Button看起来臃肿并在其高度上扩展。

我认为将按钮的layout_height设置为&#34; wrap_content&#34;会解决这个问题并使按钮更薄,但它没有任何效果。

有谁知道如何让这个按钮的高度换行到它里面的文字?

以下是示例代码:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:layout_marginLeft="10dp" >

    <TextView
        android:id="@+id/dateLabel"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="25dp"
        android:text="Select date:"
        android:textSize="15sp" />

    <Button
        android:id="@+id/dateButton"
        android:layout_width="150dp"
        android:layout_height="wrap_content"
        android:layout_toRightOf="@+id/dateLabel"
        android:text="default text"
        android:textSize="15sp"
        style="?android:attr/spinnerStyle"
        android:gravity="center_vertical|center_horizontal" />  

</RelativeLayout>

2 个答案:

答案 0 :(得分:1)

此按钮的填充由其可绘制决定。您需要更改微调器drawable(可以在运行时完成),或者将自己的drawable提供给给定的按钮,使其看起来像一个微调器,而不使用默认的

答案 1 :(得分:1)

android:gravity="center_vertical|center_horizontal"而不是你可以写的 android:gravity="center"但根据您的要求,请删除此行。不要添加任何重力并更改您的身高android:layout_height="40dp" 我改变了你的代码

<Button
        android:id="@+id/dateButton"
        android:layout_width="150dp"
        android:layout_height="35dp"
        android:layout_toRightOf="@+id/dateLabel"
        android:text="default text"
        style="?android:attr/spinnerStyle"
         />