Android--(12)--Fragment+ActionBar实现页面导航
来源:互联网 发布:淘宝皇冠店可靠吗 编辑:程序博客网 时间:2024/05/18 02:34
先简述一下步骤(发现网的有些杂乱):
- 实现ActionBar.TabListener接口(此接口提供了Tob事件的各种回调方法);
- 在onCreate方法中,为每一个要添加的Tab创建一个ActionBar.Tab的实例;
- 将Tab添加到ActionBar上;
第一步
/*将此泛型设置为<T extends Fragment>可以很好的在创建对象是限制传入的类是否是继承了Fargment,如果传入的是普通类则会直接报错!*/public class MyTabListener<T extends Fragment> implements TabListener { private Fragment mFragment; private Activity mcontext; private String ftag; private Class<T> mclass; public MyTabListener( Activity mcontext, String ftag, Class<T> mclass) { super(); this.mcontext = mcontext; this.ftag = ftag; this.mclass = mclass; } /** * 选中时调用的方法 */ @Override public void onTabSelected(Tab arg0, FragmentTransaction ft) { // TODO Auto-generated method stub //先判断一下是否存在碎片类的实例化对象 if(mFragment==null){ //1.获取Fragment的实例化对象 //第一个参数为上下文对象,第二个参数为类名 mFragment=Fragment.instantiate(mcontext, mclass.getName()); //2.添加碎片 //第一个参数为将Fragment放入的id,第二个参数为Fragment对象,第三个参数是改类的一个标识 ft.replace(android.R.id.content, mFragment,ftag); }else{ //如果Fragment对象已经存在,则直接将两者连接起来; ft.attach(mFragment); } } /** * 未选中时调用的方法 */ @Override public void onTabUnselected(Tab arg0, FragmentTransaction ft) { // TODO Auto-generated method stub //如果Fragment对象不为空,则将两者断开 if(mFragment!=null){ ft.detach(mFragment); } } /** * 重新选中时调用的方法 */ @Override public void onTabReselected(Tab arg0, FragmentTransaction arg1) { // TODO Auto-generated method stub }}
第二 . 三步
在onCreate方法中:
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //获取ActionBar对象 ActionBar actionbar=getActionBar(); //设置显示模式 actionbar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS); //二.创建Tab对象 Tab tab_xiaoxi=actionbar.newTab() .setText("消息") .setTabListener(new MyTabListener<FragmentItem1>( MainActivity.this, "xiaoxi", FragmentItem1.class)); //三将Tab对象添加到ActionBar中 actionbar.addTab(tab_xiaoxi); //添加第二列 Tab tab_faxian=actionbar.newTab() .setText("发现") .setTabListener(new MyTabListener<FragmentItem2>( MainActivity.this, "faxian", FragmentItem2.class)); actionbar.addTab(tab_faxian); //添加第二列 Tab tab_lianxi=actionbar.newTab() .setText("联系人") .setTabListener(new MyTabListener<FragmentItem3>( MainActivity.this, "lianxiren", FragmentItem3.class)); actionbar.addTab(tab_lianxi); }
对应的Fragment的类与布局文件(几个相似的文件,不再一一列举)
1.Fragment对应类
public class FragmentItem1 extends Fragment { View view; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { // TODO Auto-generated method stub view=inflater.inflate(R.layout.item1_activity, container, false); return view; }}
2.对应的布局文件
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <TextView android:id="@+id/item_1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="消息!!!" android:textSize="24sp"/></LinearLayout>
代码结构图
效果图
适用于初学者学习,自身代替笔记;
由于学校网络太贵买不起,只能开流量编写啦…….暂只记录一些重难点;
优秀的相关文章
这里写链接内容
http://blog.csdn.net/gebitan505/article/details/36674397
阅读全文
0 0
- Android--(12)--Fragment+ActionBar实现页面导航
- ActionBar+fragment实现页面导航
- Actionbar+Fragment+viewpager实现导航
- Android 导航条效果实现(五) ActionBar+Fragment
- Android ActionBar详解(六)--->利用ActionBar结合Fragment实现下拉式导航
- ActionBar + Fragment 实现Tab导航Demo
- ActionBar结合Fragment实现Tab导航
- ActionBar + Fragment 实现Tab导航Demo
- ActionBar结合Fragment实现Tab导航
- ActionBar结合Fragment实现下拉式导航
- ActionBar详解(五)--->利用ActionBar结合Fragment实现Tab导航
- ActionBar结合Fragment实现Tab导航、下拉式导航
- Fragment事物实现导航页面
- 自定义ActionBar+fragment实现页面切换
- Android:Fragment实现带导航条的页面左右切换
- Fragment、ViewPager、ActionBar实现TAB导航条效果
- Fragment、ViewPager、ActionBar实现TAB导航条效果
- Android Fragment 学习<2> 滑动TAb导航(ActionBar)
- 1.unity3d Astar pathfinding 第一个例子
- 使用node解析yaml文件
- springmvc 之视图解析器源码分析
- Mybatis(配置)
- Spring环境搭建
- Android--(12)--Fragment+ActionBar实现页面导航
- 在myeclipse中开发servlet
- Oracle安装报错:" Oracle Net Configuration Assistant" 失败
- elk安装教程2017
- StartActivity路上的mParent
- JAVA之冒泡排序—实现双色球机选小程序
- 三大框架等(空)
- 字符串大小比较
- 链家笔试算法题