ViewPager引导页
来源:互联网 发布:8090端口 编辑:程序博客网 时间:2024/05/21 11:01
ViewPager引导页
viewPager引导页可以方便的实现页面的左右滑动的切换,可以作为应用程序的引导页,也可以作为整个应用程序的框架。
首先创建引导页的首页:
public class MainActivity extends AppCompatActivity { private ViewPager viewPager ; // private ViewPageAdapter viewPageAdapter ; private List<View> views ; //View集合,左右滑动的其实是一个View的集合 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initViews(); } private void initViews(){ LayoutInflater inflater = LayoutInflater.from(this); views = new ArrayList<>(); //加添View的view。 views.add(inflater.inflate(R.layout.one,null)); views.add(inflater.inflate(R.layout.two,null)); views.add(inflater.inflate(R.layout.three,null)); //为ViewPager添加适配器 ViewPageAdapter adapter = new ViewPageAdapter(views,this); viewPager = (ViewPager) findViewById(R.id.viewpager); viewPager.setAdapter(adapter); }}
ViewPager 的适配器类
public class ViewPageAdapter extends PagerAdapter { private List<View> views ; private Context context ; public ViewPageAdapter(List<View> views, Context context) { this.views = views; this.context = context; } //返回Views的条目总数 @Override public int getCount() { if (views!=null){ return views.size(); } return 0 ; } //删除页面 @Override public void destroyItem(View container, int position, Object object) { ((ViewPager) container).removeView(views.get(position)); } //初始化界面 @Override public Object instantiateItem(View arg0, int position) { ((ViewPager) arg0).addView(views.get(position), 0); return views.get(position); } //判断是否是需要的View对象 @Override public boolean isViewFromObject(View view, Object object) { return (view==object); }}
activity_main.xml:
<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context="com.it123.pageadapter.MainActivity"> <android.support.v4.view.ViewPager android:id="@+id/viewpager" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#fff"> </android.support.v4.view.ViewPager></RelativeLayout>
one.xml
<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/imageView" android:src="@mipmap/ic_launcher" android:layout_gravity="center_horizontal" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:textAppearance="?android:attr/textAppearanceLarge" android:text="第一页" android:id="@+id/textView" android:layout_centerVertical="true" android:layout_centerHorizontal="true" /></RelativeLayout>
two.xml 和 three.xml 的代码和one.xml 的代码一致。不在重复。
运行即可实现左右滑动切换的效果
0 0
- Android ViewPager引导页
- ViewPager实现引导页
- viewpager引导页
- ViewPager引导页
- 新手引导页-ViewPager
- ViewPager实现引导页
- Android ViewPager引导页
- ViewPager实现引导页
- ViewPager 实现引导页
- viewpager引导页
- ViewPager引导页
- ViewPager实现引导页
- 引导页-ViewPager
- ViewPager引导页
- 引导页和viewpager
- ViewPager实现引导页
- ViewPager引导页
- 使用ViewPager实现引导页
- 《TCP/IP详解 卷1:协议》 读书笔记 第9章 IP选路
- Linux中tomcat里允许访问软连接的设置,作为二级虚拟目录
- python 读取不规则excel
- Hibernate开发基本步骤
- rails中使用邮件激活账户
- ViewPager引导页
- 01背包&完全背包&多重背包 - 区别
- memcached命令行参数说明
- django环境搭建以及Eclipse下Django工程创建
- iOS实战演练之——关于数据交互的问题
- Opencv输出XML和YAML文件
- Android getWindow.setFlags方法
- linux常用基本命令
- myeclipse自动化提示