Java >> Java tutorial >  >> Java

Hvordan reducerer jeg den indre polstring omkring teksten i et Android-knapobjekt?

Det tog mig en evighed at finde dette, men "polstringen" omkring teksten i en knap er slet ikke udfyldt. Standardstilen Widget.Button inkluderer en minHeight-egenskab. Ændring af minHøjde på knappen giver dig mulighed for at justere polstring som forventet.

<Button
        android:id="@+id/header"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="@string/test"
        android:textColor="@color/black"
        android:minHeight="40dip"/>


<style name="Widget.Holo.Button" parent="Widget.Button">
    <item name="android:background">@android:drawable/btn_default_holo_dark</item>
    <item name="android:textAppearance">?android:attr/textAppearanceMedium</item>
    <item name="android:textColor">@android:color/primary_text_holo_dark</item>
    <item name="android:minHeight">48dip</item>
    <item name="android:minWidth">64dip</item>
</style>

I Material Components Library, MaterialButton har en standardstil med insetBottom og insetTop med en værdi på 6dp .

Du kan ændre dem i layoutet:

  <com.google.android.material.button.MaterialButton
      android:insetTop="0dp"
      android:insetBottom="0dp"
      ../>

eller i en stil:

 <style name="Button_no_insets" parent="Widget.MaterialComponents.Button"..>
    <item name="android:insetTop">0dp</item>
    <item name="android:insetBottom">0dp</item>
 </style>


prøv dette i din tilpassede shape.xml-fil

<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle"
android:paddingLeft="10dp"
android:paddingRight="10dp"
android:paddingTop="1dp"
android:padding="1dp">

Du kan også foretage ændringer i din knaps xml

android:layout_width="wrap_content"
android:layout_height="wrap_content"

Java tag