2019独角兽企业重金招聘Python工程师标准>>>

侧滑+viewpager的效果首先要引用Slidingmenu的项目,然后对主Activity进行相应的修改,具体代码如下:

具体代码如下:

主界面:

/**

* @描述:主界面

* @作者:刘倩

* @时间:2014-11-13 下午4:25:40

*/

public class MainActivity extends SlidingFragmentActivity {

/** 声明主界面的Fragment */

private Fragment mContent;

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

// 设置为无窗口的形式

requestWindowFeature(Window.FEATURE_NO_TITLE);

initView(savedInstanceState);

}

/**

* 初始化视图

*

* @param savedInstanceState

*/

private void initView(Bundle savedInstanceState) {

setContentView(R.layout.layout_main);

if (findViewById(R.id.set_frame) == null) {

setBehindContentView(R.layout.set_frame);

getSlidingMenu().setSlidingEnabled(true);

getSlidingMenu()

.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);

} else {

/* 添加虚拟的视图 */

View v = new View(this);

setBehindContentView(v);

getSlidingMenu().setSlidingEnabled(false);

getSlidingMenu().setTouchModeAbove(SlidingMenu.TOUCHMODE_NONE);

}

/* 设置覆盖在最上面的视图 */

if (savedInstanceState != null) {

mContent = getSupportFragmentManager().getFragment(

savedInstanceState, "mContent");

}

if (mContent == null) {

mContent = new MainFragment();

}

getSupportFragmentManager().beginTransaction()

.replace(R.id.main_content_frame, mContent).commit();

/* 设置被盖在下面的视图 */

getSupportFragmentManager().beginTransaction()

.replace(R.id.set_frame, new SetFragment()).commit();

/* 自定义SlidingMenu */

SlidingMenu sm = getSlidingMenu();

sm.setBehindOffsetRes(R.dimen.slidingmenu_offset);

sm.setFadeEnabled(false);

sm.setBehindScrollScale(0.25f);

sm.setFadeDegree(0.25f);

}

@Override

public void onSaveInstanceState(Bundle outState) {

super.onSaveInstanceState(outState);

getSupportFragmentManager().putFragment(outState, "mContent", mContent);

}

}

主要对MainFragment做修改:

/**

* @描述:主界面,主要是书架功能

* @作者:刘倩

* @时间:2014-12-25 下午5:31:10

*/

public class MainFragment extends Fragment {

/** 声明ViewPager */

private ViewPager mPager;

/** 声明存放Fragment的集合 */

private ArrayList<Fragment> fragmentsList;

/** 书架的Fragment */

Fragment storeFragment;

/** 书城的Fragment */

Fragment bookshelfFragment;

@Override

public View onCreateView(LayoutInflater inflater, ViewGroup container,

Bundle savedInstanceState) {

return initView(inflater);

}

/**

* 初始化视图

*

* @return

*/

private View initView(LayoutInflater inflater) {

View mView = inflater.inflate(R.layout.layout_main_fragment, null);

InitViewPager(mView);

return mView;

}

private void InitViewPager(View parentView) {

mPager = (ViewPager) parentView.findViewById(R.id.main_vPager);

fragmentsList = new ArrayList<Fragment>();

bookshelfFragment = new BookshelfFragment();

storeFragment = new StoreFragment();

fragmentsList.add(bookshelfFragment);

fragmentsList.add(storeFragment);

mPager.setAdapter(new MyFragmentPagerAdapter(getChildFragmentManager(),

fragmentsList));

mPager.setOnPageChangeListener(new MyOnPageChangeListener());

mPager.setCurrentItem(0);

}

public class MyOnPageChangeListener implements OnPageChangeListener {

@Override

public void onPageScrollStateChanged(int arg0) { }

@Override

public void onPageScrolled(int arg0, float arg1, int arg2) { }

@Override

public void onPageSelected(int position) {

switch (position) {

case 0:

getSlidingMenu().setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);

break;

default:

getSlidingMenu().setTouchModeAbove(SlidingMenu.TOUCHMODE_MARGIN);

break;

}

}

}

private SlidingMenu getSlidingMenu() {

return ((MainActivity)getActivity()).getSlidingMenu();

}

}

第三步就是对BookshelfFragment和StoreFragment进行布局了。

具体的下载地址如下:

http://download.csdn.net/detail/u010820846/8314977

转载于:https://my.oschina.net/u/1244156/blog/362400

侧滑+viewpager 类似掌阅的滑动demo相关推荐

  1. 掌阅群分享技术点收集(app性能优化专攻)

    保活 先从老式最基础的开始: 使用startService方式启动一个独立进程的服务,这样系统会在service意外死亡后自动重启. 使用RTC定时闹钟每5分钟检测一下(4.0以上基本无效) 启动li ...

  2. 仿掌阅实现 TabLayout 切换时的字体和 Indicator 动画

    文章目录 前言 分析 实现字体缩放动画 实现 Indicator 的长度变化动画 一.准备工作 二.让 TextView 撑满 TabView 三.实现滑动时 Indicator 的动画效果 写在最后 ...

  3. 掌阅Android App插件补丁实践(ZeusPlugin)

    掌阅Android App插件补丁实践(ZeusPlugin) 遇到问题 65K方法数超限 随着应用不断迭代,业务线的扩展,应用越来越大,那么很不幸,总有一天,当你编译的时候,会遇到一个类似下面的错误 ...

  4. 讯飞和掌阅死磕亚马逊,彩色电子墨水阅读器是为了干掉kindle吗

    文|顾旭光 来源|智能相对论(ID:aixdlun) 从2007年第一款Kindle发布后,电子阅读硬件这个非常聚焦的赛道已经走过了13个年头. "智能相对论"小组中,行走坐卧都带 ...

  5. 数字阅读市场陷入两强之争 掌阅能不能守住半壁江山?

    近日,收购了新丽传媒的阅文集团股价大跌,但市值仍然有468亿港元(人民币411.5亿元).与之相比业务相近的掌阅科技在A股却只有117亿市值,远不在一个量级.其实在数字阅读市场上,两者的数据表面上可以 ...

  6. TabLayout+ViewPager+Fragmet+RecyclerView结合的小demo

    前两天想熟悉一下tablayout,所以就弄了个特别简单的tablayout+viewpager+fragmet+recyclerview结合的小demo.虽然特别简单,但还是遇到了不少问题. tab ...

  7. Android 仿掌阅 小说阅读器 书籍打开动画

    搜了半天 终于找到关键字 掌阅 . ireader  可惜放到项目炸了,,,, 完整代码 // 万能适配器compile 'com.github.CymChad:BaseRecyclerViewAda ...

  8. 掌阅科技上半年净利增长21%,牵手字节后能与阅文一战吗?

    时隔一年,<元龙>第二季在B站如期上线,不少粉丝闻讯而来. 这不是掌阅打造的第一部IP改编作品.8月16日盘后,掌阅科技发布半年报,宣布营收达到10.94亿元,净利润达1.34亿元,均同比 ...

  9. 源码解析:解析掌阅X2C 框架

    前言 掌阅出品了X2C 框架,听说可以加快性能.喜欢研究源码的我,肯定要来看下是怎么回事. 作为一个开发,应该不屑于只会使用开源框架. OK,来尝试下. 项目地址: https://github.co ...

最新文章

  1. 响应式网页的布局设计
  2. FusionCharts下载地址汇总及更新介绍
  3. 浅析网站标题优化该如何进行?
  4. python监听器_监听器 - python成长中 - 博客园
  5. Scala集合:ListBuffer的头head和尾tail
  6. java怎么设置不同事件_activiti 全局流程监听ActivitiEventListener,实现监听不同类型事件,不需要在acitivit中配置任务监听,非常方便...
  7. react中弹框的显示隐藏
  8. 房天下数据爬取及简单数据分析
  9. php table转json,html table表数据转Json格式示例代码分析
  10. 段选择符和段描述符的关系
  11. Java I/O系统之Writer
  12. 深入理解Attention及变种(三)
  13. 解决方案:Win C++ mingw编译器出现 不支持的16位程序问题
  14. Windows 7/10下安装Ubuntu 16.04双系统
  15. 戏人看戏--什么是Web3.0?区块链又是什么?如何写一个web3.0的界面?
  16. 2014.05.14小项目----漫天彩星
  17. 网易云音乐歌单详情列表爬虫破解
  18. 安装busybox步骤
  19. 时序数据库基本概念学习
  20. 牛客小白月赛16——D 小阳买水果

热门文章

  1. 「2020新商业潜力评选」结果隆重揭晓,袋鼠云荣登榜单
  2. 算法 寻找多数元素
  3. tp5模板中时间戳转时间
  4. html encode 在线,HttpUtility.HtmlEncode转义过多?
  5. flutter Java version OpenJDK Runtime Environment (build 11.0.8+10-b944.6916264) ✗ Android licens
  6. Shapiro-Wilk (SW) 检验
  7. c#编程:事件delegate学习笔记-3
  8. Go(05)map介绍
  9. StackFlow 之ISO-8859-1乱码问题
  10. cd---命令cmd打开文件夹