随着时间的推移现在的软件要求显示的内容越来越多,所以要在小的屏幕上能够更好的显示更多的内容,首先我们会想到底部菜单栏,但是有时候想网易新闻要显示的内容太多,而且又想在主页面全部显示出来,所以有加了顶部导航栏,但是Android这样的移动设备内存是受限的,那么多界面缓存到内存中,很容易导致内存溢出,这个是比较致命的,所以不得不考虑。虽然我在之前也做过网易的顶部导航栏但是哪种方式并不好,就像使用viewpager做一些复杂的界面由于图片占用内存过多,很容易导致内存溢出,学习了今天的内容大家做一下对比相信就有所体会。
先看一下今天要实现的效果:
至于顶部导航的具体要用到的图片和布局大家自己调整。
由于前面已经介绍了底部菜单栏了,所以一些重复性的代码就不贴上来了,最后我也会把下载地址贴上大家有兴趣自行下载。
首先看一些顶部导航栏的布局文件:
- <?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="fill_parent"
- android:orientation="vertical" >
- <include layout="@layout/head" />
- <LinearLayout
- android:layout_width="fill_parent"
- android:layout_height="wrap_content">
- <RadioGroup
- android:id="@+id/add_tab_group"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:gravity="center"
- android:paddingTop="6dp"
- android:paddingBottom="6dp"
- android:background="@drawable/big_button_up"
- android:orientation="horizontal"
- >
- <RadioButton
- android:id="@+id/main_tab_addExam"
- style="@style/MMTabButton1"
- android:layout_weight="1.0"
- android:checked="true"
- android:text="添加考试" />
- <RadioButton
- android:id="@+id/main_tab_myExam"
- style="@style/MMTabButton1"
- android:layout_weight="1.0"
- android:text="我的考试" />
- <RadioButton
- android:id="@+id/main_tab_message"
- style="@style/MMTabButton1"
- android:layout_weight="1.0"
- android:text="我的通知" />
- <RadioButton
- android:id="@+id/main_tab_testing"
- style="@style/MMTabButton1"
- android:layout_weight="1.0"
- android:text="测试" />
- <RadioButton
- android:id="@+id/main_tab_settings"
- style="@style/MMTabButton1"
- android:layout_weight="1.0"
- android:text="设置" />
- </RadioGroup>
- </LinearLayout>
- <LinearLayout
- android:id="@+id/container"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent"
- android:layout_weight="1" >
- </LinearLayout>
- </LinearLayout>
下载链接在下节: