Android学习-ViewPager实现导航
来源:互联网 发布:js获取flv的帧图片 编辑:程序博客网 时间:2024/05/21 17:44
加入ViewPager
加载显示的页卡
将Layout布局转换为View对象
1>LayoutInflater if = getLayoutInflater().from(this);
if.inflate(resource,root);
2>View.inflate(context,resource,root);
配置Adapter
1>PagerAdapter 数据源:List< View >
2>FragmentPagerAdapter 数据源:List< Fragment >
3>FragmentStatePagerAdapter 数据源:List< Fragment >
MainActivity.javapackage com.example.angel.project1;import android.graphics.Color;import android.os.Bundle;import android.support.v4.view.PagerTabStrip;import android.support.v4.view.ViewPager;import android.support.v7.app.AppCompatActivity;import android.view.View;import android.widget.Toast;import java.util.ArrayList;import java.util.List;public class MainActivity extends AppCompatActivity implements ViewPager.OnPageChangeListener{ private List<View> viewList; private List<String> titleList; private MyPagerAdapter pagerAdapter; private PagerTabStrip pagerTabStrip; private ViewPager pager; protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); viewList = new ArrayList<View>(); /* * 通过View对象作为ViewPager的数据源 * */ View view1 = View.inflate(this,R.layout.view1,null); View view2 = View.inflate(this,R.layout.view2,null); View view3 = View.inflate(this,R.layout.view3,null); View view4 = View.inflate(this,R.layout.view4,null); viewList.add(view1); viewList.add(view2); viewList.add(view3); viewList.add(view4); //为ViewPager页卡设置标题 pagerTabStrip = (PagerTabStrip) findViewById(R.id.tab); titleList = new ArrayList<>(); titleList.add("第一页"); titleList.add("第二页"); titleList.add("第三页"); titleList.add("第四页"); //为PagerTabStrip设置属性 pagerTabStrip.setBackgroundColor(Color.GRAY); pagerTabStrip.setTextColor(Color.BLUE); pagerTabStrip.setDrawFullUnderline(false); pagerTabStrip.setTabIndicatorColor(Color.YELLOW); //初始化ViewPager pager=(ViewPager)findViewById(R.id.pager); //创建PagerAdapter适配器 pagerAdapter = new MyPagerAdapter(viewList,titleList); //ViewPager加载适配器 pager.setAdapter(pagerAdapter); //设置监听器 pager. setOnPageChangeListener(this); } @Override public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { } @Override public void onPageSelected(int position) { Toast.makeText(this,"这是第"+position+"个页面",Toast.LENGTH_LONG).show(); } @Override public void onPageScrollStateChanged(int state) { }}
MyPagerAdapter.javapackage com.example.angel.project1;import android.support.v4.view.PagerAdapter;import android.view.View;import android.view.ViewGroup;import java.util.List;public class MyPagerAdapter extends PagerAdapter { private List<View> viewList; private List<String> titleList; public MyPagerAdapter(List<View>viewList,List<String> titleList){ this.viewList = viewList; this.titleList = titleList; } /* * 返回的是页卡的数量 * */ public int getCount() { return viewList.size(); } /* * 判断View是否来自于该对象 * */ public boolean isViewFromObject(View view, Object object) { return view==object; } /* * 实例化页卡 * */ public Object instantiateItem(ViewGroup container, int position) { container.addView(viewList.get(position)); return viewList.get(position); } /* * 设置页卡标题 * */ public CharSequence getPageTitle(int position) { return titleList.get(position); } /* * 销毁一个页卡 * */ public void destroyItem(ViewGroup container, int position, Object object) { container.removeView(viewList.get(position)); }}
main.xml<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <android.support.v4.view.ViewPager android:id="@+id/pager" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center"> <android.support.v4.view.PagerTabStrip android:id="@+id/tab" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="top"> </android.support.v4.view.PagerTabStrip> </android.support.v4.view.ViewPager></LinearLayout>
view1.xml<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="第一个界面" /></LinearLayout>
阅读全文
0 0
- Android学习-ViewPager实现导航
- Android UI学习笔记 之 使用ViewPager实现导航
- Android ViewPager+TabHost实现首页导航
- 重写ViewPager实现Android导航栏
- 使用ViewPager实现Android帮助导航
- 使用ViewPager实现导航
- viewpager实现静态导航
- ViewPager实现导航页
- ViewPager实现导航
- 使用ViewPager实现导航
- ViewPager实现导航
- ViewPager+PagerAdapter实现导航
- Android-ViewPager滑动导航
- viewpager Android实现导航菜单左右滑动效果
- android ViewPager 实现导航页面和广告播放
- android之ViewPager的使用实现应用的导航功能
- Android ViewPager和Fragment实现顶部导航界面滑动效果
- Android 利用ViewPager实现导航页滑动效果
- 危桥僵尸解决方案和人性
- Android中的Shape,Selector文件
- 卷积神经网络(CNN)和Tensorflow初探——MNIST
- Vim折叠设置
- http://geek.csdn.net/news/detail/240577
- Android学习-ViewPager实现导航
- 51nod 1287加农炮【线段树*好题】
- 强大的矩阵奇异值分解(SVD)及其应用
- Pandas学习笔记
- http://geek.csdn.net/news/detail/240577
- 怎么在CentOs上安装Tomcat?
- 文章标题
- 构建用户管理微服务
- SSDT Hook实现内核级的进程保护