好多人问怎么实现tab上有数字,其实很简单实现方法有很多,这里有布局实现吧,只是demo,希望大家明白原理res/drawable/shapecount.xml
- <?xml version="1.0" encoding="utf-8"?>
- <shape
- xmlns:android="http://schemas.android.com/apk/res/android"
- android:shape="rectangle">
- <corners android:radius="20dp" />
- <solid android:color="#ff2233" />
- </shape>
- res/layout/tabicon.xml
- <RelativeLayout
- android:orientation="vertical"
- android:background="@null"
- android:id="@+id/rlayout"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content" >
- <ImageView
- android:id="@+id/icon"
- android:src="@android:drawable/ic_menu_mylocation" <!-- Just for test -->
- android:layout_margin="0dp"
- android:layout_height="wrap_content"
- android:layout_width="wrap_content"/>
- <TextView android:layout_width="wrap_content" android:layout_height="wrap_content"
- android:text="50" android:textSize="12dp" android:textStyle="bold"
- android:background="@drawable/shapecount"
- android:textColor="#FFFFFF"
- android:paddingLeft="3dp" android:paddingRight="3dp"
- android:layout_margin="0dp"
- android:layout_alignBottom="@+id/rlayout"
- android:id="@+id/txtCount" />
- </RelativeLayout>
LayoutInflater inflater = LayoutInflater.from(this);
View view = inflater.inflate(R.layout.tabicon, null);
final TextView txtCount = (TextView) view.findViewById(R.id.txtCount);
spec = tabHost.newTabSpec("artists").setIndicator(view).setContent(intent);