Jadi, saat ini saya memiliki tombol yang terlihat seperti gambar pertama di atas. Bagaimana cara mengurangi padding di sekitar teks di dalam tombol itu sendiri (Agar lebih terlihat seperti gambar kedua)?
Lebar dan tinggi tata letak diatur sebagai:
android:layout_width="match_parent"
android:layout_height="wrap_content"
Bentuk gaya kustom memiliki parameter "
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" android:padding="10dp">
Sisanya hanyalah atribut warna dan nilai jari-jari.
Untuk memperjelas, saya ingin bingkai tombol memeluk teks "Login" lebih dekat.
Semua bantuan dan umpan balik sangat dihargai. Terima kasih.
android:includeFontPadding="false"
Jawaban:
Saya butuh waktu lama untuk menemukan ini, tetapi "padding" di sekitar teks di tombol tidak benar-benar padding sama sekali. Gaya Widget.Button default menyertakan properti minHeight. Mengubah minHeight pada tombol akan memungkinkan Anda menyesuaikan padding seperti yang diharapkan.
<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>
sumber
Di Material Components Library,
MaterialButton
memiliki gaya default denganinsetBottom
daninsetTop
dengan nilai6dp
.Anda dapat mengubahnya di tata letak:
<com.google.android.material.button.MaterialButton android:insetTop="0dp" android:insetBottom="0dp" ../>
atau dengan gaya:
<style name="Button_no_insets" parent="Widget.MaterialComponents.Button"..> <item name="android:insetTop">0dp</item> <item name="android:insetBottom">0dp</item> </style>
sumber
coba ini di file shape.xml kustom Anda
<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">
Anda juga dapat membuat perubahan di xml tombol Anda
android:layout_width="wrap_content" android:layout_height="wrap_content"
sumber
Jika Anda menginginkan bantalan atas dan bawah yang lebih kecil, gunakan ini:
android:paddingTop="2dp" android:paddingBottom="2dp"
sumber
android:padding
atauandroid:layout_margin"
di tampilan induk<shape />
.Anda dapat menggunakan gaya Tanpa Batas di AppCompatButton seperti di bawah ini. Gunakan juga warna latar yang Anda sukai.
Kode tombol
<androidx.appcompat.widget.AppCompatButton android:id="@+id/button_visa_next" android:background="@color/colorPrimary" style="@style/Widget.AppCompat.Button.Borderless.Colored" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_marginTop="@dimen/spacing_normal" android:text="@string/next" android:textColor="@color/white" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" />
Keluaran:
sumber