这里的例子比较简单,其实就是用布局写一个tab切换,不用系统的控件或是第三方控件,样式可以自己定义,只要喜欢什么都可以添加,效果图如下:
(这里设计最后一个要求有小图标,其他的不需要,如果都需要可以把判断小图标是否显示的代码去掉即可)
首先是布局每个Item的布局,一个textview用于显示文字内容,一个用于显示角标,一个条下滑线显示游标,title_tab_item.xml如下:
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/tab_item">
<TextView
android:id="@+id/name_text_spark"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="5dp"
android:layout_marginTop="5dp"
android:textSize="12sp"
android:layout_gravity="top|right"
android:gravity="center"
android:text="0"
android:textColor="@color/write_ffffff"
android:background="@drawable/red_pot"/>
<TextView
android:id="@+id/name_text_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="16sp"
android:layout_gravity="center"
android:text="内容" />
<View
android:visibility="invisible"
android:id="@+id/view_line"
android:layout_gravity="bottom"
android:layout_width="match_parent"
android:layout_height="3dp"
android:background="#00c925"/>
</FrameLayout>
接下来是要一个包含tab_item的布局文件
tab_layout.xml,这里默认给两个tab,如果实际应用需要多个,我们可以动态的在代码里进行添加:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:background="@drawable/tab_bar_bg"
a