Jalankan alat Lint baru terhadap kode saya. Itu muncul dengan banyak saran bagus, tetapi yang ini saya tidak mengerti.
Tag ini dan anak-anaknya dapat digantikan oleh label yang dapat digambar
Masalah: Memeriksa apakah node saat ini dapat diganti oleh TextView menggunakan drawable gabungan.
LinearLayout yang berisi ImageView dan TextView dapat lebih efisien ditangani sebagai suatu senyawa yang dapat digambar
Dan di sini adalah tata letak saya
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_centerInParent="true">
<ImageView
android:id="@+id/upImage"
android:layout_width="20dp"
android:layout_height="20dp"
android:layout_gravity="center_vertical"
android:scaleType="centerInside"
android:src="@drawable/up_count_big">
</ImageView>
<TextView
android:id="@+id/LikeCount"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="2dp"
android:layout_marginBottom="1dp"
android:textColor="@color/gray"
android:textSize="16sp"
android:layout_gravity="center_vertical">
</TextView>
</LinearLayout>
Adakah yang bisa memberikan contoh konkret tentang cara membuat senyawa yang dapat digambar dalam kasus ini?
TextView
/ImageView
kombo dapat diganti dengan cara ini.Jawaban:
TextView
dilengkapi dengan 4 drawable majemuk, satu untuk masing-masing kiri, atas, kanan dan bawah.Dalam kasus Anda, Anda tidak perlu
LinearLayout
danImageView
sama sekali. Tambahkan sajaandroid:drawableLeft="@drawable/up_count_big"
keTextView
.Lihat TextView # setCompoundDrawablesWithIntrinsicBounds untuk info lebih lanjut.
sumber
ImageView
. Peringatan itu mengatakan 'bisa diganti dengan', bukan 'harus diganti dengan'jika karena alasan tertentu Anda perlu menambahkan melalui kode, Anda dapat menggunakan ini:
di mana kiri, atas, kanan bawah adalah Drawables
sumber
Untuk menambah ini - sepertinya penting untuk menentukan lebar & tinggi yang dapat ditarik sesuai posting ini:
(kodenya bekerja)
sumber
Anda dapat menggunakan implementasi drawable compound umum, tetapi jika Anda perlu menentukan ukuran drawable, gunakan perpustakaan ini:
https://github.com/a-tolstykh/textview-rich-drawable
Berikut ini adalah contoh kecil penggunaan:
sumber