您的位置:首页 > 其它

使用Fragment实现类似TabHost标签栏的效果

2014-04-27 17:54 387 查看
  在前几天,我写了篇《Android TabHost的使用》简单的介绍了其使用的方法,但是在实现的时候发现TabHost已经被官方遗弃了。虽然我觉得TabHost还是多好用的(可能因为我这种菜鸟不清楚吧)不知道为什么官方会遗弃,但应该还是有原因的吧。

  首先,我们来简单的了解一下Fragment。Fragment是Android在3.0中引入的概念用来在一个Activity中描述一些行为或一部分用户界面,支持不同分辨率屏幕的动态和灵活的UI设计。Fragment必须总是被嵌入到一个Activity中,它们的生命周期直接被其所属的宿主Activity的生命周期所影响。

  创建Fragment的方法有两种

在布局文件中声明Fragment。

从布局文件中读取并生成Fragemnt(使用onCreate()的方法提供的LayoutInflater对象参数)。

  每一个Fragment都需要一个唯一的标识,如果Activity重启,系统可以用这个标识来回复Fragment(也可以用来处理Fragment事务,例如移除它),有三种方法来为一个 Fragment提供一个标识:

为android:id属性提供一个唯一的ID。

为android:tag属性提供一个唯一字符串。

如果以上两个都没有提供,则系统使用容器view的ID。

好了,言归正传,我们还是来了解一下Fragment实现类似TabHost标签栏的效果吧。

(这个例子是同学给我的,不知道是他自己做的还是在网上找的Demo)

我们先来看看,效果图:

public class SettingFragment extends Fragment {

public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View settingLayout = inflater.inflate(R.layout.setting_layout,
container, false);
return settingLayout;
}

}


View Code
好了,除了资源文件以外,XML和JAVA文件都已完成。运行即可。

Demo下载:http://pan.baidu.com/s/1xSD9G
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: