Android: уменьшение размера кнопки

я использую Button в одном из макетов. Я хочу!--1--> размер как текст/размер этикетки.

я использую следующий код.

<Button 
android:text="@string/cancle_button" 
android:id="@+id/button1" 
android:background="@drawable/back_button" 
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:textSize="12sp"
android:textColor="#ffffff"
android:textStyle="bold" />

но я хочу!--1-- > высота будет такой же, как высота текста/метки. Всякий раз, когда я уменьшаю или увеличиваю высоту текста,Button высота остается той же. Как мне решить эту проблему?

4 ответов


для этого можно использовать относительный макет. Проверить этот пример кода

<RelativeLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" >

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:text="TextView" />

    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_toRightOf="@id/textView1"
        android:layout_alignTop="@id/textView1"
        android:layout_alignBottom="@id/textView1"
        android:text="Button" />

</RelativeLayout>

прошел почти год с тех пор, как был задан вопрос. Но теперь я столкнулся с проблемой и нашел решение. :) Может быть, это кому-то поможет.

вы можете достичь этого, установив android:minHeight="0dp" виджета кнопки.

и я предполагаю, что это поведение связано с тем, что существует некоторое значение по умолчанию (может быть 48dp), установленное для виджетов кнопок платформой, рассматривающей минимальную область касания.


использование может принять вид изображения в этом случае или если ваш принимая вид текста в этом случае, так что вы можете принять изображение с правильным размером, так что он не будет синее через эти меры вы можете установить небольшой размер для изображения лучший способ вы можете принять изображение с этим размером вы хотите создать свой хороший способ


вы можете решить эту проблему, установив высоту кнопки на определенное значение, которое совпадает с высотой вашей метки.

<Button 
android:text="CANCEL" 
android:id="@+id/button1" 
android:background="@drawable/back_button" 
android:layout_width="wrap_content"
android:layout_height="20sp"
android:gravity="center"
android:textSize="15sp"
android:textColor="#ffffff"
android:textStyle="bold" />