Jadikan lencana Anda a TextView, sehingga Anda dapat menyetel nilai numerik ke apa pun yang Anda suka dengan menelepon setText(). Setel latar belakang TextViewsebagai XML <shape>drawable, yang dengannya Anda dapat membuat lingkaran padat atau gradien dengan batas. Drawable XML akan diskalakan agar sesuai dengan tampilan saat diubah ukurannya dengan lebih banyak atau lebih sedikit teks.
res / drawable / badge_circle.xml:
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<solid
android:color="#F00" />
<stroke
android:width="2dip"
android:color="#FFF" />
<padding
android:left="5dip"
android:right="5dip"
android:top="5dip"
android:bottom="5dip" />
</shape>
Anda harus melihat bagaimana oval / lingkaran berskala dengan angka 3-4 digit yang besar. Jika efek ini tidak diinginkan, coba pendekatan persegi panjang bulat seperti di bawah ini. Dengan angka-angka kecil, persegi panjang masih akan terlihat seperti lingkaran karena jari-jarinya bertemu.
res / drawable / badge_circle.xml:
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<corners
android:radius="10dip"/>
<solid
android:color="#F00" />
<stroke
android:width="2dip"
android:color="#FFF" />
<padding
android:left="5dip"
android:right="5dip"
android:top="5dip"
android:bottom="5dip" />
</shape>
Dengan latar belakang skalabel yang dibuat, Anda cukup menambahkannya ke latar belakang a TextView, seperti:
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="10"
android:textColor="#FFF"
android:textSize="16sp"
android:textStyle="bold"
android:background="@drawable/badge_circle"/>
Terakhir, TextViewlencana ini dapat ditempatkan dalam tata letak Anda di atas tombol / tab yang sesuai. Saya mungkin akan melakukan ini dengan mengelompokkan setiap tombol dengan lencananya dalam sebuah RelativeLayoutwadah, seperti:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<Button
android:id="@+id/myButton"
android:layout_width="65dip"
android:layout_height="65dip"/>
<TextView
android:id="@+id/textOne"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignTop="@id/myButton"
android:layout_alignRight="@id/myButton"
android:text="10"
android:textColor="#FFF"
android:textSize="16sp"
android:textStyle="bold"
android:background="@drawable/badge_circle"/>
</RelativeLayout>
Mudah-mudahan informasi itu cukup untuk setidaknya mengarahkan Anda ke arah yang benar!