ViewPager的简单使用
来源:互联网 发布:软件开发哪个大学好 编辑:程序博客网 时间:2024/03/29 19:59
1.添加
<android.support.v4.view.ViewPager
android:id="@+id/id_viewpager"
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="1" >
</android.support.v4.view.ViewPager>
//<include layout="@layout/bottom_bar" />//引入xml文件
2.
private ViewPager viewPager;//定义ViewPager
private PagerAdapter mAdapter;//定义ViewPager的适配器PagerAdapter
private List<View> mViews;//保存视图的list
private LayoutInflater mInflater;//该对象用来加载xml文件为视图view
private int currentIndex;//目前的下表
3.
mInflater = LayoutInflater.from(this);//得到LayoutInflater对象
4/**
*初始化View
*/
initView();
public void initView() {
// TODO Auto-generated method stub
//得到LinearLayout
mTabBtnWeixin = (LinearLayout) findViewById(R.id.id_tab_bottom_weixin);
mTabBtnFrd = (LinearLayout) findViewById(R.id.id_tab_bottom_friend);
mTabBtnAddress = (LinearLayout) findViewById(R.id.id_tab_bottom_contact);
mTabBtnSettings = (LinearLayout) findViewById(R.id.id_tab_bottom_setting);
//创建集合
mViews = new ArrayList<View>();
//把xml文件转换为view对象
View first = mInflater.inflate(R.layout.main_tab_01, null);
View second = mInflater.inflate(R.layout.main_tab_02, null);
View third = mInflater.inflate(R.layout.main_tab_03, null);
View fourth = mInflater.inflate(R.layout.main_tab_04, null);
//添加view到集合里面
mViews.add(first);
mViews.add(second);
mViews.add(third);
mViews.add(fourth);
//初始适配器
mAdapter = new PagerAdapter(){
@Override
public int getCount() {
// TODO Auto-generated method stub
return mViews.size();//得到集合的大小
}
@Override
public boolean isViewFromObject(View arg0, Object arg1) {
// TODO Auto-generated method stub
return arg0==arg1;//判断对象是否相等
}
@Override
public void destroyItem(ViewGroup container, int position,
Object object) {
// TODO Auto-generated method stub
container.removeView(mViews.get(position));//移除view对象
}
@Override
public Object instantiateItem(ViewGroup container, int position) {
// TODO Auto-generated method stub
View view=mViews.get(position);//得到view
container.addView(view);//添加view到viewgroup
return view;
}
};
}
5
//设置适配器
viewPager.setAdapter(mAdapter);
//注册事件监听
viewPager.setOnPageChangeListener(new OnPageChangeListener(){
@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 position) {
// TODO Auto-generated method stub
resetTabBtn();
switch (position)
{
case 0:
((ImageButton) mTabBtnWeixin.findViewById(R.id.btn_tab_bottom_weixin))
.setImageResource(R.drawable.tab_weixin_pressed);
break;
case 1:
((ImageButton) mTabBtnFrd.findViewById(R.id.btn_tab_bottom_friend))
.setImageResource(R.drawable.tab_find_frd_pressed);
break;
case 2:
((ImageButton) mTabBtnAddress.findViewById(R.id.btn_tab_bottom_contact))
.setImageResource(R.drawable.tab_address_pressed);
break;
case 3:
((ImageButton) mTabBtnSettings.findViewById(R.id.btn_tab_bottom_setting))
.setImageResource(R.drawable.tab_settings_pressed);
break;
}
currentIndex = position;
}});
总结:1.<android.support.v4.view.ViewPager
android:id="@+id/id_viewpager"
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="1" >
</android.support.v4.view.ViewPager>
2.得到ViewPager
3.初始化各个view对象。。。
4.注册适配器
6.注册页面监听
- ViewPager的简单使用
- viewpager的简单使用
- viewpager的简单使用
- ViewPager的简单使用
- ViewPager的简单使用
- viewpager的简单使用
- viewPager的简单使用
- ViewPager的简单使用
- ViewPager的简单使用
- Viewpager的简单使用
- ViewPager的简单使用
- 简单的ViewPager使用
- ViewPager的简单使用
- ViewPager的简单使用
- ViewPager的简单使用
- ViewPager的简单使用
- ViewPager的简单使用
- ViewPager的简单使用
- @synthesize obj=_obj的意义详解 @property和@synthesize
- C/C++实战常见错误总结及注意事项【关注与Python的不同点】
- 啥是CSD?
- BOURNS(邦士)样片申请与经验
- 形成自己的交易系统
- ViewPager的简单使用
- 第二十题(字符串转换成整数)
- Codeforces Round #251 (Div. 2)
- 修改phpMyAdmin中的密码
- .net 连接数据
- Java反射学习总结终(使用反射和注解模拟JUnit单元测试框架)
- 银行家算法
- C课程设计
- 关于近期事项