Android开发:ViewPager+Fragment满足内容区域左右滑动
来源:互联网 发布:深圳网络出租屋要取缔 编辑:程序博客网 时间:2024/05/14 00:28
Fragment作为Activity界面的一部分组成出现
可以在一个Activity中同时出现多个Fragment,并且,一个Fragment亦可在多个Activity中使用。
在Activity运行过程中,可以添加、移除或者替换Fragment(add()、remove()、replace())
Fragment可以响应自己的输入事件,并且有自己的生命周期,当然,它们的生命周期直接被其所属的宿主activity的生命周期影响。
Android在3.0中引入了fragments的概念,主要目的是用在大屏幕设备上--例如平板电脑上,支持更加动态和灵活的UI设计。平板电脑的屏幕要比手机的大得多,有更多的空间来放更多的UI组件,并且这些组件之间会产生更多的交互。Fragment允许这样的一种设计,而不需要你亲自来管理 viewhierarchy的复杂变化。 通过将activity的布局分散到fragment中, 你可以在运行时修改activity的外观,并在由activity管理的back stack中保存那些变化.
1、先写三个java文件:
FriendMainTabFragment.java
ContactMainTabFragment.java
ChatMainTabFragment.java
继承 Fragment(android.support.v4.app.Fragment包下面的,方便兼容低版本)
package com.imooc.weixin;import android.os.Bundle;import android.support.v4.app.Fragment;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;public class ChatMainTabFragment extends Fragment{@Overridepublic View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState){return inflater.inflate(R.layout.tab01, container, false);}}
添加布局文件xml:
在java的onCreateView中直接return这样一个布局:
把布局压制进去
tab01.xml
<?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:gravity="center" android:orientation="vertical" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="This is first Tab use fragment" android:textSize="22sp" android:textStyle="bold" /></LinearLayout>
2、
在MainActivity中,继承FragmentActivity而不是Activity
声明下ViewPager:‘
private ViewPager mViewPager;
private FragmentPagerAdapter mAdapter;
private List<Fragment> mDatas;//数据是Fragment列表
这三个都是在:android.support.v4包下的文件,不要导错包。
2、
在onCreate中创建点击事件initView方法:
(1)完成完成ViewPager初始化和ViewPager数据的初始化,最好把适配器mAdapter给ViewPager
(2) 重写getItem(int index) 以及 getCount() 方法
public class MainActivity extends FragmentActivity{private ViewPager mViewPager;private FragmentPagerAdapter mAdapter;private List<Fragment> mDatas;//数据是Fragment列表 @Overrideprotected void onCreate(Bundle savedInstanceState){super.onCreate(savedInstanceState);//去掉titileBarrequestWindowFeature(Window.FEATURE_NO_TITLE);setContentView(R.layout.activity_main);initView();} //满足内容区域的滑动:完成ViewPager初始化和ViewPager数据的初始化 private void initView() { mDatas = new ArrayList<Fragment>();ChatMainTabFragment tab01 = new ChatMainTabFragment();FriendMainTabFragment tab02 = new FriendMainTabFragment();ContactMainTabFragment tab03 = new ContactMainTabFragment();mDatas.add(tab01);mDatas.add(tab02);mDatas.add(tab03); //ViewPager适配器的初始化mAdapter = new FragmentPagerAdapter(getSupportFragmentManager()){@Overridepublic int getCount(){return mDatas.size();}@Overridepublic Fragment getItem(int arg0){return mDatas.get(arg0);}};//设置的适配器给ViewPagermViewPager.setAdapter(mAdapter);}
0 0
- Android开发:ViewPager+Fragment满足内容区域左右滑动
- ViewPager左右滑动Fragment
- Android之实现ViewPager+Fragment左右滑动
- Fragment+ViewPager 左右滑动 Demo
- Fragment+ViewPager实现左右滑动
- 【Android开发】ViewPager实现左右循环滑动
- android开发步步为营之53:viewpager+fragment构造可左右滑动标签页效果
- android开发步步为营之92:ViewPager+TabLayout+Fragment构造带标签的可左右滑动页面
- ViewPager结合Fragment实现页面左右滑动
- ViewPager+Fragment实现左右滑动页
- AppBarLayout、ViewPager、Fragment实现页面左右滑动
- Viewpager+Fragment实现左右滑动切换页面
- viewpager+fragment左右滑动切换页面
- android viewpager左右循环滑动
- Android ViewPager左右滑动月历
- android viewpager 禁止左右滑动
- android viewpager 无限左右滑动
- Android Viewpager拦截 左右滑动
- SSH纪实--最基本最基本的知识(二)
- Spring Validator和Hibernate Validator
- Spring+监听器+Quartz集群(3)——任务管理
- Writing Code - CodeForces 543 A dp
- Java 缓存之Ehcache 的源码 write 方法了解
- Android开发:ViewPager+Fragment满足内容区域左右滑动
- 数学之美之TF-IDF算法
- nginx 反向代理及动静分离
- 架构之重构的12条军规
- HTTP协议漫谈
- NGINX反向代理、动静结合
- MySQLdb的安装
- JSP中设置页面的显示形式
- nyoj_17_单调递增最长子序列