ActionBar导航(滑动选项卡)
在ActionBar Tabs中加入Viewpager可以实现滑动。
首先在布局文件中添加Viewpager容器,不加载XML资源fragment就不会显示。
<android.support.v4.view.ViewPager xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/vPager" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_gravity="center" tools:context="com.example.helloworld.Activity" > </android.support.v4.view.ViewPager>
在Activity中实例化Viewpager,添加FragmentPagerAdapter适配器,实现OnPageChangeListener接口,将fragment添加到Viewpager容器中。设置setNavigationMode为NAVIGATION_MODE_TABS并把Viewpager加载到Tab导航里。
import android.support.v7.app.ActionBarActivity;
private ActionBar actionBar; private ViewPager mPager; private String[] dataTag; private ArrayList<Fragment> mFragmentsList; private Tab tabA, tabB;
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); actionBar = getSupportActionBar(); //向ArrayList中添加fragment mFragmentsList = new ArrayList<Fragment>(); mFragmentsList.add(new MyFragmentA()); mFragmentsList.add(new MyFragmentB()); //获取ViewPager mPager = (ViewPager) findViewById(R.id.vPager); //设置FragmentPagerAdapter mPager.setAdapter(new MyFragmentPagerAdapter( getSupportFragmentManager(), mFragmentsList)); //设置OnPageChangeListener mPager.setOnPageChangeListener(new MyOnPageChangeListener(this)); //设置默认fragment mPager.setCurrentItem(0); //向dataTag添加标签 dataTag = new String[] { "页 面 一", "页 面 二" }; //NavigationTabs配置 actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS); tabA = actionBar.newTab().setText(dataTag[0]) .setIcon(R.drawable.ic_launcher).setContentDescription("Tab A") //设置TabListener .setTabListener(new MyTabListener(mPager)); actionBar.addTab(tabA); tabB = actionBar.newTab().setText(dataTag[1]) .setIcon(R.drawable.ic_launcher).setContentDescription("Tab B") //设置TabListener .setTabListener(new MyTabListener(mPager)); actionBar.addTab(tabB); }
MyTabListener.java——切换Tab时滑动fragment。
public class MyTabListener implements ActionBar.TabListener { private ViewPager mViewPager; public MyTabListener(ViewPager viewpager) { this.mViewPager = viewpager; } @Override public void onTabSelected(Tab tab, FragmentTransaction ft) { if (mViewPager != null) { mViewPager.setCurrentItem(tab.getPosition()); } } @Override public void onTabUnselected(Tab tab, FragmentTransaction ft) { } @Override public void onTabReselected(Tab tab, FragmentTransaction ft) { } }
MyFragmentPagerAdapter .java——将fragment添加到Viewpager中。
public class MyFragmentPagerAdapter extends FragmentPagerAdapter { private ArrayList<Fragment> fragmentsList; public MyFragmentPagerAdapter(FragmentManager fm, ArrayList<Fragment> fragments) { super(fm); this.fragmentsList = fragments; } @Override public Fragment getItem(int index) { // TODO Auto-generated method stub return fragmentsList.get(index); } @Override public int getCount() { // TODO Auto-generated method stub return fragmentsList.size(); } }
MyOnPageChangeListener.java——滑动fragment时切换Tab。
public class MyOnPageChangeListener implements OnPageChangeListener { private ActionBar mActionBar; public MyOnPageChangeListener(ActionBarActivity activity) { // TODO Auto-generated constructor stub this.mActionBar = activity.getSupportActionBar(); } @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) { // TODO Auto-generated method stub mActionBar.selectTab(mActionBar.getTabAt(arg0)); } }
Android2.3模拟器效果图
相关推荐
ANDROID-添加ActionBar导航选项卡PART-2(带有GridView和MultipleSelection) ================== 这是ActionBar导航的示例代码。 更详细的检查这个 达瓦尔·索达·帕玛(Dhaval Sodha Parmar)
actionbar+fragment实现顶部导航菜单的功能
ActionBar实现Tab选项标签效果,项目包含:源码+效果图+项目结构图 教程地址:http://blog.csdn.net/yangyu20121224/article/details/9050573
关键词:swipeActionbar slidingActionbar tabactionbar 可滑动的actionbar actionbar Tab滑动 这个示例工程,将actionbar上实现tab的动态切换,同时兼容8以上所有平台 项目依赖v7 appcompat 包 请自行添加 有问题 ...
ActionBar下拉导航+悬浮透明样式,相关博文:http://www.cnblogs.com/tianzhijiexian/p/3873587.html
使用ActionBar+TabPageIndicator+ViewPager+FragmentPagerAdapter的双向滑动Tab
android-tab-fragments ActionBar 选项卡和片段
ActionBar用Tab+ViewPager+Fragment实现快速导航,
android仿微信6.0底部滑动菜单栏+导航栏,ViewPager+RadioGroup+ActionBar. 有博客描述
① 作为“action选项”,在ActionBar上直接显示“选项菜单”(OptionsMenu)—— 为用户进行某项操作提供直接的访问; 作为“action项”没有出现在ActionBar上得菜单项会被置于“更多...”菜单项 中,在...
使用了ActionBar实现层级导航的返回效果,项目中含:源码+效果图+项目结构图 教程地址:http://blog.csdn.net/yangyu20121224/article/details/9059459
ViewPager实现滑动的Preference页面且带ActionBar
ActionBar实现导航下拉列表效果,项目内含:源码+效果图+项目结构图 教程地址:http://blog.csdn.net/yangyu20121224/article/details/9050573
包括2个代码例子,一个是自定义 actionbar 适合用于3.0以下版本也需要使用actionbar。一个例子是 修改actionbar style样式,如果替换背景等。
使用actionbar来实现内容的竖向导航,还是比较给力的。
android ActionBarTabs+ViewPager+Fragment 实现tab滑动翻页效果,完整代码,多个例子,
android的actionbar开发,以及使用radio button代替Tab
主要为大家详细解析了Android3.0 ActionBar导航标题栏的使用方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
主要为大家详细介绍了Android巧用ActionBar实现tab导航效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
2.当一个左侧drawer式的导航栏存在时,活动的activity会检测Actionbar上的按钮是否被按下,以此来显示或者关闭导航栏 3.ActionBarDrawerToggle有利于这种操作 4.抽屉内的item(每一项)应分为两类: 4.1视图切换 视图...