我正在尝试创建一个看起来像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>
答案 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"
/>