TextView
를 호출하여 원하는대로 숫자 값을 설정할 수 있도록 배지를으로 만드십시오 setText()
. 의 배경을 TextView
XML <shape>
드로어 블로 설정하여 테두리가 있는 단색 또는 그라데이션 원을 만들 수 있습니다. XML 드로어 블은 더 많거나 적은 텍스트로 크기가 조정될 때 뷰에 맞게 크기가 조정됩니다.
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>
하지만 타원 / 원이 큰 3-4 자리 숫자로 어떻게 확장되는지 살펴 봐야합니다. 이 효과가 바람직하지 않은 경우 아래와 같이 둥근 직사각형 접근 방식을 시도하십시오. 작은 숫자의 경우 반경이 함께 수렴함에 따라 사각형은 여전히 원처럼 보입니다.
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>
확장 가능한 배경이 생성되면 다음 TextView
과 같이 의 배경에 추가하기 만하면됩니다 .
<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"/>
마지막으로, 이러한 TextView
배지는 적절한 버튼 / 탭 상단의 레이아웃에 배치 할 수 있습니다. RelativeLayout
컨테이너에 배지와 함께 각 버튼을 그룹화 하여 다음과 같이 할 수 있습니다.
<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>
바라건대 그것은 최소한 올바른 방향으로 지적 할 수있는 충분한 정보입니다!