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>
本文详细介绍了如何在安卓应用中使用RadioGroup创建底部导航栏,并通过监听事件实现页面切换。提供了具体的XML布局代码,包括自定义的RadioButtons与图标选择技巧,以及状态改变时的UI效果。
344

被折叠的 条评论
为什么被折叠?



