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

Я использую Button в одном из макетов. Я хочу, чтобы размер Button был меньше размера текста/метки.

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

<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" />

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

Ответ 1

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

<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>

Ответ 2

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

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

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

Ответ 3

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

Ответ 4

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

<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" />