Android Fragment 学习<2> 滑动TAb导航(ActionBar)
来源:互联网 发布:ims数据分析 编辑:程序博客网 时间:2024/06/04 18:02
最近总结,“滑动导航”这个功能很常见。
结合ActionBar和ViewPage的使用,简单记录如下;
思路: 定义一个字符串,来表示TAB的标签,并做监听其改变,同时“绑定”相应的Fragment。布局滑动,我使用的是ViewPage,绑定监听后,滑动改变ActionBar的高亮显示
两个Fragment类就省了,没什么东西。主Activity的布局里面只有一个ViewPage控件。
public class MainActivityextends FragmentActivity {
private ActionBaractionBar;
private ViewPagervp;
private ArrayList<Fragment>fragmentList;
private String[]addresses = { "first","second" }; /* Tab标签 */
private Tab[]mTab = new Tab[addresses.length];
@Override
public void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.main_layout);
vp = (ViewPager) findViewById(R.id.viewPager);
vp.setOnPageChangeListener(new MyOnPageChangeListener());
fragmentList =new ArrayList<Fragment>();/* 装载Fragment */
fragmentList.add(new FragmentOne());
fragmentList.add(new FragmentTwo());
/* 创建Fragment适配器 */
MyFragmentAdapter mfa = new MyFragmentAdapter(getSupportFragmentManager(), fragmentList);
vp.setAdapter(mfa);
actionBar = getActionBar();
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
actionBar.setDisplayShowTitleEnabled(false);
actionBar.setDisplayShowHomeEnabled(false);
/* 初始化TAB */
for(int i = 0;i <addresses.length;i++){
mTab[i] =actionBar.newTab().setText(addresses[i]).setTabListener(new MyTabListener());
actionBar.addTab(mTab[i]);
}
}
private class MyTabListener implements TabListener{
/** TAB在切换的时候 ,并带动下面的Fragment **/
@Override
public void onTabSelected(Tab tab, FragmentTransaction ft) {
// TODO Auto-generated method stub
if(tab ==mTab[0]){
vp.setCurrentItem(0);
}
else if(tab == mTab[1]){
vp.setCurrentItem(1);
}
}
@Override
public void onTabUnselected(Tab tab, FragmentTransaction ft) {
// TODO Auto-generated method stub
}
@Override
public void onTabReselected(Tab tab, FragmentTransaction ft) {
// TODO Auto-generated method stub
}
}
privateclass MyOnPageChangeListener implements OnPageChangeListener{
/** Fragment 在滑动的时候,带动TAb标签 **/
@Override
public void onPageScrollStateChanged(int arg0) {
// TODO Auto-generated method stub
}
@Override
public void onPageScrolled(int arg0, float arg1, int arg2) {
// TODO Auto-generated method stub
}
@Override
public void onPageSelected(int arg0) {
actionBar.setSelectedNavigationItem(arg0);
}
}
}
- Android Fragment 学习<2> 滑动TAb导航(ActionBar)
- Android Fragment 学习<2> 滑动TAb导航(无ActionBar)
- Android UI 详解之ActionBar+ViewPager+Fragment 实现滑动Tab
- ActionBar + Fragment 实现Tab导航Demo
- ActionBar结合Fragment实现Tab导航
- ActionBar + Fragment 实现Tab导航Demo
- ActionBar结合Fragment实现Tab导航
- 【Android】使用Actionbar Tab导航
- 【Android】使用Actionbar Tab导航
- (Android 基础知识) ActionBar.Tab---导航Tab(标签)
- Android开发学习之ActionBar之Tab和Spinner导航
- ActionBar详解(五)--->利用ActionBar结合Fragment实现Tab导航
- Tab 滑动标签,综合ViewPager+Fragment+自定义Tab+ActionBar内容
- ActionBar结合Fragment实现Tab导航、下拉式导航
- Android典型界面设计(6)——ActionBar Tab+ViewPager+Fagment实现滑动导航
- Android开发之ViewPager+ActionBar+Fragment实现响应式可滑动Tab
- Android开发之ViewPager+ActionBar+Fragment实现响应式可滑动Tab
- Android开发之ViewPager+ActionBar+Fragment实现响应式可滑动Tab
- Android ViewPager使用详解
- linux iscsi initiator 安装配置
- php高效获取数据分页
- debug log
- java File的getLastModified在不同操作系统下面存在差异
- Android Fragment 学习<2> 滑动TAb导航(ActionBar)
- web服务器的作用!
- Microsoft Excel 准确按照一页的宽度和高度打印
- Emmet:HTML/CSS代码快速编写神器
- 归并排序:二路归并
- RHEL5 以上版本iscsi的配置
- Android 深入ViewPager补间动画,实现类京东商城首页广告Banner切换效果
- java中实现域名解析
- python等概率输出数组中任一元素