牛仔的移动开发博客

专注前端开发

RadioGroup实现底部导航

1.布局:

<?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">

    <FrameLayout
        android:id="@+id/fragment_container"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

    <RadioGroup
        android:id="@+id/tab_menu"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="bottom"
       
        android:gravity="center_vertical"
        android:orientation="horizontal">

        <RadioButton
            android:id="@+id/shop"
            style="@style/TabMenuText"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:background="@null"
            android:button="@null"
            android:drawableTop="@drawable/tab_shopbg"
            android:gravity="center_horizontal"
            android:text="逛店" />

        <RadioButton
            android:id="@+id/category"
            style="@style/TabMenuText"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:background="@null"
            android:button="@null"

            android:checked="false"
            android:drawableTop="@drawable/tab_categorybg"
            android:gravity="center_horizontal"
            android:text="分类" />

        <RadioButton
            android:id="@+id/index"
            style="@style/TabMenuText"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:background="@null"
            android:button="@null"
            android:checked="true"
            android:drawableTop="@drawable/tab_indexbg"
            android:gravity="center_horizontal"
            android:text="首页" />

        <RadioButton
            android:id="@+id/me"
            style="@style/TabMenuText"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:background="@null"
            android:button="@null"
            android:drawableTop="@drawable/tab_mebg"
            android:gravity="center_horizontal"
            android:text="我的" />

        <RadioButton
            android:id="@+id/more"
            style="@style/TabMenuText"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:background="@null"
            android:button="@null"
            android:drawableTop="@drawable/tab_morebg"
            android:gravity="center_horizontal"
            android:text="更多" />
    </RadioGroup>
</FrameLayout>


android:button="@null":去除小圆点

android:backgroud="@null":去除默认点下去颜色加深的效果(有selector的效果就可以了)

android:drawableTop:让图片在文字上面,图片是一个selector,点击换深色图

android:gravity:让文字居中

TabMenuText:

<style name="TabMenuText" parent="@android:style/TextAppearance">
 <item name="android:textSize">9sp</item>
 <item name="android:textColor">#666666</item>
  <item name="android:drawablePadding">0dp</item>
 </style>

注意,如果radiabutton的图片太大展示不出来,可以让美工把图片做小一点,或者放到像素密度大的drawable中(比如drawable-xxhdpi)





阅读更多
上一篇不同像素密度下图片资源的缩放关系
下一篇drawable下的非图片资源之layer-list
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭