使用RadioButton模拟底部导航栏

使用RadioButton模拟底部导航栏

 

 

 

1、主布局文件main.xml

 


<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"

    xmlns:tools="http://schemas.android.com/tools"

    android:layout_width="match_parent"

    android:layout_height="match_parent"

    tools:context=".MainActivity" >

 

 

    <TextView

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:layout_centerHorizontal="true"

        android:layout_centerVertical="true"

        android:text="@string/hello_world" />

 

 

<!—设置底部导航栏 -->

    <LinearLayout

        android:layout_width="fill_parent"

        android:layout_height="wrap_content"

        android:layout_alignParentBottom="true" >

 

<!—引用底部导航栏的布局文件 -->

        <include

            android:id="@+id/footbar_layout_ly"

            layout="@layout/footbar_layout" />

        

    </LinearLayout>

 

</RelativeLayout>

 


 

 

2、底部导航栏的布局文件, footbar_layout.xml

 

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

    android:layout_width="fill_parent"

    android:layout_height="60dip"

    android:background="@drawable/bottom_bg"

    android:orientation="horizontal" >

 

    <RadioGroup

        android:layout_width="fill_parent"

        android:layout_height="match_parent"

        android:orientation="horizontal" >

 

        <RadioButton

            style="@style/navigation_bottom_radio"

            android:drawableTop="@drawable/bottom_home_d"

            android:text="@string/home_tv" />

 

        <RadioButton

            style="@style/navigation_bottom_radio"

            android:drawableTop="@drawable/bottom_looks_d"

            android:text="@string/style_tv" />

 

        <RadioButton

            style="@style/navigation_bottom_radio"

            android:drawableTop="@drawable/bottom_cam"

            android:gravity="center"

            android:text="拍照"

             />

 

        <RadioButton

            style="@style/navigation_bottom_radio"

            android:drawableTop="@drawable/bottom_shopping_d"

            android:text="@string/shopping_tv" />

 

        <RadioButton

            style="@style/navigation_bottom_radio"

            android:drawableTop="@drawable/bottom_show_d"

            android:text="@string/show_tv" />

        

    </RadioGroup>

 

</LinearLayout>


 

 

 

3、在res/value/styles.xml中添加navigation_bottom_radio名称的布局

 

<resources>

 

    <style name="navigation_bottom_radio">

 

        <!-- 内部组件的排列 -->

        <item name="android:gravity">center_horizontal</item>

        <!-- 背景样式 -->

        <item name="android:background">@drawable/style_navigation_radio</item>

        <!-- 宽度 -->

        <item name="android:layout_width">fill_parent</item>

        <!-- 高度 -->

        <item name="android:layout_height">wrap_content</item>

        <!-- 设置RadioButton的原来图片为空 -->

        <item name="android:button">@null</item>

        <!-- 与其他组件宽度占相同比重 -->

        <item name="android:layout_weight">1.0</item>

        <!-- 底部的空隙 -->

        <item name="android:paddingBottom">2.0dip</item>

        <!-- 顶部的空隙 -->

        <item name="android:paddingTop">2.0dip</item>

        <!-- 文字的大小 -->

        <item name="android:textSize">11dip</item>

        <!-- 文字的颜色 -->

        <item name="android:textColor">@color/white</item>

    </style>

 

</resources>

 

 


4、在res\drawable目录下添加每个Radio的背景的样式style_navigation_radio.xml

 

  <?xml version="1.0" encoding="utf-8"?>

<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <!-- 选中 -->

    <item android:drawable="@drawable/bottom_select_bg" android:state_checked="true"/>

 

</selector>


  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值