Setelah saya memanggil setCompoundDrawables
metode, senyawa Drawable tidak ditampilkan ..
Drawable myDrawable = getResources().getDrawable(R.drawable.btn);
btn.setCompoundDrawables(myDrawable, null, null, null);
Adakah pikiran?
android
android-layout
android-drawable
hunterp
sumber
sumber
(..)WithIntrinsicBounds
perlu dipanggil. Di samping catatan,padding
untuk Drawable Compound harus ditetapkan setelah panggilan ini untuk menimbulkan efeksetBounds(Rect)
disebut.Jawaban:
Saya harus menggunakan
setCompoundDrawablesWithIntrinsicBounds
.sumber
Gunakan ini (saya diuji). Itu bekerja dengan baik
sumber
EditText#setCompoundDrawablesWithIntrinsicBounds
membutuhkan setidaknya API 17.Gambar kosong karena tidak memiliki batas yang ditentukan. Anda dapat menggunakan
setCompoundDrawables()
tetapi sebelum Anda harus menentukan batas gambar, menggunakanDrawable.setBounds()
metodesumber
Contoh diatur ke atas:
urutan argumen: (kiri, atas, kanan, bawah)
sumber
Sedikit lebih sederhana lagi:
sumber
Itu ditinggalkan dalam API 22.
Kode ini bermanfaat bagi saya:
sumber
Di Kotlin:
1) Set
drawable
:atau
2) Set
TextView
:atau
sumber
setCompoundDrawablesWithIntrinsicBounds
akan bekerja ..Bagi saya setCompoundDrawablesWithIntrinsicBounds (Drawable, Drawable, Drawable, Drawable) tidak berfungsi.
Saya harus menggunakan setCompoundDrawablesWithIntrinsicBounds (0, 0, 0, 0) .
sumber
Contoh dengan Kotlin:
sumber
Gambar tidak ditampilkan karena Anda tidak menentukan batas, jadi Anda memiliki 2 opsi di sini.
Metode 1
Gunakan
setCompoundDrawablesWithIntrinsicBounds
metode, seperti yang ditunjukkan di bawah iniMetode 2
Anda dapat menerapkan batas pada drawable sebelum menerapkan ke TextView, seperti yang ditunjukkan di bawah ini
Itu dia.
sumber