drawableTop图标大小建议用阿里图标库64像素大小的图标,否则就需要自己设置图标大小了(可参考:https://blog.youkuaiyun.com/toast_tips/article/details/55257934), 然后通过给RadioGroup添加监听实现页面切换。
layout布局:
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@color/white" tools:context=".activity.MainActivity"> <View android:layout_width="match_parent" android:background="@color/bg2" android:layout_above="@+id/rg_module" android:layout_height="1dp"> </View> <RadioGroup android:id="@+id/rg_module" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:orientation="horizontal" android:paddingHorizontal="30dp" android:paddingVertical="5dp"> <RadioButton android:id="@+id/rb_test" android:layout_width="wrap_content" android:layout_height="wrap_content" android:button="@null" android:drawableTop="@drawable/bg_test" android:gravity="center_horizontal" android:paddingHorizontal="10dp" android:text="试验" android:checked="true" android:textColor="@drawable/module_text_color" /> <View android:layout_width="0dp" android:layout_height="0dp" android:layout_weight="1" /> <RadioButton android:id="@+id/rb_function" android:layout_width="wrap_content" android:layout_height="wrap_content" android:button="@null" android:drawableTop="@drawable/bg_function" android:gravity="center_horizontal" android:paddingHorizontal="10dp" android:text="功能" android:textColor="@drawable/module_text_color" /> <View android:layout_width="0dp" android:layout_height="0dp" android:layout_weight="1" /> <RadioButton android:id="@+id/rb_my" android:layout_width="wrap_content" android:layout_height="wrap_content" android:button="@null" android:drawableTop="@drawable/bg_my" android:gravity="center_horizontal" android:paddingHorizontal="10dp" android:text="我的" android:textColor="@drawable/module_text_color" /> </RadioGroup> </RelativeLayout>
bg_function:
<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_checked="true" android:drawable="@drawable/icon_function64" /> <item android:drawable="@drawable/icon_function64_unselect" /> </selector>
bg_my:
<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_checked="true" android:drawable="@drawable/icon_my64" /> <item android:drawable="@drawable/icon_my64_unselect" /> </selector>
bg_test:
<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_checked="true" android:drawable="@drawable/icon_test64" /> <item android:drawable="@drawable/icon_test64_unselect" /> </selector>
module_text_color:
<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_checked="true" android:color="@color/theme" /> <item android:state_checked="false" android:color="@color/tc" /> </selector>