Seperti cephus yang disebutkan android:drawablePadding
hanya akan memaksa padding antara teks dan drawable jika tombolnya cukup kecil.
Saat meletakkan tombol yang lebih besar, Anda dapat menggunakan android:drawablePadding
bersama dengan android:paddingLeft
dan android:paddingRight
untuk memaksa teks dan digeser ke dalam ke arah tengah tombol. Dengan menyesuaikan padding kiri dan kanan secara terpisah, Anda dapat membuat penyesuaian yang sangat rinci pada tata letak.
Berikut adalah contoh tombol yang menggunakan padding untuk mendorong teks dan ikon lebih dekat bersama daripada yang seharusnya:
<Button android:text="@string/button_label"
android:id="@+id/buttonId"
android:layout_width="160dip"
android:layout_height="60dip"
android:layout_gravity="center"
android:textSize="13dip"
android:drawableLeft="@drawable/button_icon"
android:drawablePadding="2dip"
android:paddingLeft="30dip"
android:paddingRight="26dip"
android:singleLine="true"
android:gravity="center" />
passwordToggleDrawable
gap padding kiri menjadi lebih besar karena tidak dapat menargetkan spesifik untuk dibiarkan saja.TextView memiliki properti android: drawablePadding yang dapat melakukan trik:
sumber
android:drawablePadding
hanya akan membuat celah bantalan antara teks dan gambar jika tombolnya cukup kecil untuk menyatukan 2. Jika tombol Anda lebih lebar dari lebar gabungan (untuk drawableLeft / drawableRight) atau tinggi (untuk drawableTop / drawableBottom) maka drawablePadding tidak melakukan apa-apa.Saya sedang berjuang dengan ini sekarang juga. Tombol saya cukup lebar, dan ikon tergantung di tepi kiri tombol dan teks dipusatkan di tengah. Satu-satunya cara saya untuk mengatasi ini untuk saat ini adalah memanggang margin pada gambar dengan menambahkan piksel kosong ke tepi kiri kanvas dengan photoshop. Tidak ideal, dan juga tidak benar-benar direkomendasikan. Tapi itu solusi stop-gap saya untuk saat ini, singkat membangun kembali TextView / Button.
sumber
Iya. gunakan drawablePadding sebagai berikut,
sumber
Buat sumber daya yang dapat ditarik.xml
sumber
android:drawablePadding
adalah cara termudah untuk memberikan padding ke ikon drawable tetapi Anda tidak dapat memberikan padding satu sisi sepertipaddingRight
ataupaddingLeft
dari drawable icon. Untuk mencapai itu Anda harus menggali ke dalamnya. Dan Jika Anda menerapkanpaddingLeft
ataupaddingRight
untukEdittext
itu akan menempatkan padding ke seluruhEdittext
bersama dengan ikon yang dapat ditarik.sumber
tentukan bentuk untuk edittext Anda dan berikan padding Sebagai Contoh
Padding yang didefinisikan dalam bentuk ini akan membantu memberikan padding untuk draweleleft atau kanan ---------------------- Terapkan bentuk ini pada EditView
menggunakan bentuk yang didefinisikan sebagai latar belakang akan memberikan EditText Anda beberapa gaya plus margin ke drawableLeft.
sumber
android: drawablePadding adalah cara termudah untuk memberikan padding ke ikon drawable tetapi Anda tidak dapat memberikan padding satu sisi tertentu seperti paddingRight atau paddingLeft dari ikon drawable. Untuk mencapai itu Anda harus menggali ke dalamnya. Dan Jika Anda menerapkan paddingLeft atau paddingRight ke Edittext maka itu akan menempatkan padding ke seluruh Edittext bersama dengan ikon yang dapat digambar.
sumber
catatan: layout_width perlu wrap_content dan gunakan paddingLeft paddingRight drawablePadding untuk mengontrol celah. Jika Anda menentukan nilai layout_width akan memiliki kesenjangan antara ikon dan teks, saya pikir sekali memberikan nilai menentukan layout_width, padding akan mengukur.
sumber
Saya akan melemparkan jawaban saya ke atas ring juga. Jika Anda ingin melakukan ini secara terprogram Anda dapat melakukan hal berikut.
Ini akan menambahkan padding ke ujung drawable di mana end akan berarti kiri / kanan tergantung apakah ponsel di LTR atau RTL.
sumber
Alih-alih
Button
digunakanLinearLayout
denganImageView
danTextView
di dalam. Dalam item anak sukaImageView
danTextView
gunakanandroid:duplicateParentState="true"
.sumber
Anda harus mempertimbangkan menggunakan daftar lapisan
Buat file yang dapat digambar seperti ini, beri nama ic_calendar.xml
Di bawah file tata letak,
sumber
Anda dapat menggunakan padding untuk tombol dan Anda bisa bermain dengan DrawablePadding
Anda dapat menggunakan padding tertentu tergantung tempat meletakkan drawable Anda, dengan android: paddingLeft = "10dp" atau android: paddingBottom = "10dp" atau android: paddingRight = "10dp" atau android: paddingTop = "10dp"
sumber
Anda dapat menggunakan
android:drawableLeft="@drawable/your_icon"
untuk mengatur gambar yang akan ditampilkan di sisi kiri. Untuk mengatur padding untuk drawable, Anda harus menggunakanandroid:paddingLeft
atauandroid:paddingRight
untuk mengatur padding kiri / kanan masing-masing.sumber
Jika ukuran sumber daya yang dapat ditarik diperbaiki, Anda dapat melakukan hal ini:
Kuncinya di sini adalah:
Artinya, ukuran sumber daya yang dapat ditarik plus paddingRight adalah paddingLeft.
Anda dapat melihat hasilnya dalam contoh ini
sumber
sumber
baru saja membuat ulang dari:
untuk
sumber
Mencoba menggunakan lapisan negatif
Suka:
sumber