android市面主流侧滑框架,本架构主要实现侧滑出现底部view和首页实现tabhost效果,并且每一个fragment支持使用多个viewpager,很好的处理viewpager一次全部加载问题,可以根据viewpager出现的时候调用初始化页面,提高性能。这是一个不错的架构,欢迎android小伙伴们一起学习。
本项目主要底部TabFragment和左边侧滑DragLayout 以及CustomViewPager 实现,并且提供退出应用的一种关闭所有acitiviy的方式。
大体首页代码:
? // 点击back按钮
??????? actionBarFragment = (TabFragment) getSupportFragmentManager().findFragmentById(R.id.tab_bar_fragment);
??????? int code = 1;
??????? final ArrayList<TabMode> listTabModes = new ArrayList<TabMode>();
??????? {// 缘分
??????????? final TabMode tabMode = new TabMode(HOME_TAB, R.drawable.tab_1_selector,
??????????????????? "首页", R.color.tab_text_color_selector, new HomeFragment(), code == 1);
??????????? listTabModes.add(tabMode);
??????? }
??????? {// 搜索
??????????? final TabMode tabMode = new TabMode(SEARCH_TAB, R.drawable.tab_2_selector,
??????????????????? "搜索", R.color.tab_text_color_selector, new SearchFriendFragment(), code == 2);//
??????????? listTabModes.add(tabMode);
??????? }
??????? {// 消息
??????????? final TabMode tabMode = new TabMode(HOME_TAB_MESSAGE, R.drawable.tab_3_selector,
??????????????????? "信息", R.color.tab_text_color_selector, new InfomationFragment(), code == 3);
??????????? listTabModes.add(tabMode);
??????? }
?
??????? actionBarFragment.creatTab(HomeActivity.this, listTabModes, new TabFragment.IFocusChangeListener() {
??????????? @Override
??????????? public void OnFocusChange(int currentTabId, int tabIndex) {
??????????? }
??????? });
抽屉侧滑部分:
?/**
???????? * 抽屜动作监听
???????? */
??????? mDragLayout.setOnLayoutDragingListener(new DragLayout.OnLayoutDragingListener() {
??????????? @Override
??????????? public void onOpen() {
??????????????? //打开
??????????? }
??????????? @Override
??????????? public void onDraging(float percent) {
??????????????? //滑动中
??????????? }
??????????? @Override
??????????? public void onClose() {
??????????????? //关闭
??????????? }
??????? });
?
原文:http://yangguangcheng.iteye.com/blog/2250015