ViewPage是一个简单的页面切换组件,左右滑动的话,有效果,和ListView一样

也需要配合适配器(PagerAdapter)来使用。

先来个效果图吧

先随便创建3个view页面,用于放到 ViewPage里面

view_one.xml

view_two.xml  和上面页面内容一样,

view_there.xml  和上面页面内容一样,

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <android.support.constraint.ConstraintLayout
  3. xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent"
  4. android:layout_height="match_parent">
  5.  
  6. <TextView
  7. android:id="@+id/textView"
  8. android:layout_width="140dp"
  9. android:layout_height="101dp"
  10. android:text="one"
  11. android:textSize="30sp" />
  12. </android.support.constraint.ConstraintLayout>

主页面activity_main.xml

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
  3. xmlns:app="http://schemas.android.com/apk/res-auto"
  4. xmlns:tools="http://schemas.android.com/tools"
  5. android:layout_width="match_parent"
  6. android:layout_height="match_parent"
  7. tools:context=".MainActivity">
  8.  
  9. <android.support.v4.view.ViewPager
  10. android:id="@+id/vpager_one"
  11. android:layout_width="wrap_content"
  12. android:layout_height="wrap_content"
  13. android:layout_gravity="center">
  14.  
  15. </android.support.v4.view.ViewPager>
  16.  
  17. </android.support.constraint.ConstraintLayout>

适配器:

  1. package action.sun.com.viewpage1;
  2.  
  3. import android.support.v4.view.PagerAdapter;
  4. import android.view.View;
  5. import android.view.ViewGroup;
  6.  
  7. import java.util.ArrayList;
  8.  
  9. public class MyPagerAdapter extends PagerAdapter {
  10.  
  11. private ArrayList<View> viewLists;
  12.  
  13. public MyPagerAdapter() {
  14. }
  15.  
  16. public MyPagerAdapter(ArrayList<View> viewLists) {
  17. super();
  18. this.viewLists = viewLists;
  19. }
  20.  
  21. @Override
  22. public int getCount() {
  23. return viewLists.size();
  24. }
  25.  
  26. @Override
  27. public boolean isViewFromObject(View view, Object object) {
  28. return view == object;
  29. }
  30.  
  31. @Override
  32. public Object instantiateItem(ViewGroup container, int position) {
  33. container.addView(viewLists.get(position));
  34. return viewLists.get(position);
  35. }
  36.  
  37. @Override
  38. public void destroyItem(ViewGroup container, int position, Object object) {
  39. container.removeView(viewLists.get(position));
  40. }
  41. }

主页面调用代码:

  1. package action.sun.com.viewpage1;
  2.  
  3. import android.support.v4.view.ViewPager;
  4. import android.support.v7.app.AppCompatActivity;
  5. import android.os.Bundle;
  6. import android.view.LayoutInflater;
  7. import android.view.View;
  8.  
  9. import java.util.ArrayList;
  10.  
  11. public class MainActivity extends AppCompatActivity {
  12.  
  13. private ViewPager vpager;
  14. private ArrayList<View> aList;
  15. private MyPagerAdapter mAdapter;
  16.  
  17. @Override
  18. protected void onCreate(Bundle savedInstanceState) {
  19. super.onCreate(savedInstanceState);
  20. setContentView(R.layout.activity_main);
  21.  
  22. vpager = (ViewPager) findViewById(R.id.vpager_one);
  23.  
  24. aList = new ArrayList<View>();
  25. LayoutInflater li = getLayoutInflater();
  26. aList.add(li.inflate(R.layout.view_one,null,false));
  27. aList.add(li.inflate(R.layout.view_two,null,false));
  28. aList.add(li.inflate(R.layout.view_there,null,false));
  29. mAdapter = new MyPagerAdapter(aList);
  30. vpager.setAdapter(mAdapter);
  31. }
  32. }

以上,基本的ViewPage就能够实现了。

Android ViewPage的使用(一)的更多相关文章

  1. android viewpage预加载和懒加载问题

    1.本人理解懒加载和预加载问题某种情况下可以归结为一类问题,下面我就说一下我遇到的预加载问题和懒加载问题及解决的相应方法: - [1 ] 预加载问题        描述:我用到了三个fragment. ...

  2. Android Viewpage 滑块

    依赖: implementation 'com.android.support:appcompat-v7:28.0.0' 在主页面layout <android.support.v4.view. ...

  3. Android viewPage notifyDataSetChanged无刷新

    转载 http://www.67tgb.com/?p=624 最近项目结束,搞了一次代码分享.其中一位同学分享了一下自己在解决问题过程中的一些心得体会,感觉受益匪浅.整理出来,分享给大家. 建议使用自 ...

  4. android viewpage解决嵌套

    子viewpage 自定义 写法一: public class ChildViewPager extends ViewPager{ /** 触摸时按下的点 **/ PointF downP = new ...

  5. android控件之间事件传递

    public boolean dispatchTouchEvent(MotionEvent ev){} 用于事件的分发.Android中全部的事件都必须经过这种方法的分发.然后决定是自身消费当前事件还 ...

  6. Android典型界面设计——ViewPage+Fragment实现区域顶部tab滑动切换

    一.问题描写叙述 本系列将结合案例应用,陆续向大家介绍一些Android典型界面的设计,首先说说tab导航,导航分为一层和两层(底部区块+区域内头部导航).主要实现方案有RadioGroup+View ...

  7. Android技术——切换视图(两)随着ViewPage达到Tab幻灯片浏览

    Android技术--切换视图(一)~(四)在资源项目:https://github.com/YongYuIT/MeiNv_Liulanqi 一.早期android(android.support.v ...

  8. Android Studio精彩案例(三)《模仿微信ViewPage+Fragment实现方式二》

    转载本专栏文章,请注明出处,尊重原创 .文章博客地址:道龙的博客 写在前面的话:此专栏是博主在工作之余所写,每一篇文章尽可能写的思路清晰一些,属于博主的"精华"部分,不同于以往专栏 ...

  9. Android初级教程:ViewPage使用详解

    转载本博客,请注明出处:http://blog.csdn.net/qq_32059827点击打开链接 ViewPage使用之一就是轮播广告,就以此为出发点,来详细解析一下ViewPage的使用和加载机 ...

随机推荐

  1. 【MyBatis】MyBatis之如何配置

    1,MyBatis简介 MyBatis 是支持普通 SQL查询,存储过程和高级映射的优秀持久层框架.MyBatis 消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索.MyBatis 使用简 ...

  2. 为什么说,长跑和爬山能锻炼意志?因为要不停的run,run,run......

    长跑和爬山教会我们的是无论做什么都要坚持,教会我们的是生活的态度. 如果不能体会到这一点,那你长跑的意义就是纯粹的锻炼身体. 中国教育的最大败笔就是教会了人学习,却没教会人思考.

  3. is-a,has-a,like-a是什么 sql server中,N''表示什么意思? 关于SQL SERVER的N前缀的理解

    https://blog.csdn.net/ooppookid/article/details/51174122#commentBox 1.is-a,has-a,like-a是什么 在面向对象设计的领 ...

  4. yum install mysql56

    官方有写: http://dev.mysql.com/doc/mysql-repo-excerpt/5.6/en/linux-installation-yum-repo.html yum update ...

  5. MongodDB---初识

    NoSQL介绍 一.NoSQL简介 NoSQL,全称是”Not Only Sql”,指的是非关系型的数据库. 非关系型数据库主要有这些特点:非关系型的.分布式的.开源的.水平可扩展的. 原始的目的是为 ...

  6. cucumber java从入门到精通(1)初体验

    cucumber java从入门到精通(1)初体验 cucumber在ruby环境下表现让人惊叹,作为BDD框架的先驱,cucumber后来被移植到了多平台,有cucumber-js以及我们今天要介绍 ...

  7. appium简明教程(11)——使用resource id定位(仅支持安卓4.3以上系统)

    上一节乙醇带大家了解了appium的定位策略.实际上appium的控件定位方式是完全遵守webdriver的mobile扩展协议的. 这一节将分享一下如何使用resource id来定位android ...

  8. 怎样为你的CSDN博客增加百度统计

    曾经CSDN使用的 量子统计 能够非常好的统计我们的博客的訪问数量.地域等等信息,可是不知道后来为什么不在使用了.那么怎样找到 一种替换的方式那? 下边,就给大家介绍一下怎样使用百度统计. 百度统计账 ...

  9. List遍历Java 8 Streams map() examples

    1. A List of Strings to Uppercase 1.1 Simple Java example to convert a list of Strings to upper case ...

  10. IntelliJ IDEA设置代码括号对齐方式

    IntelliJ IDEA设置代码括号对齐方式 IntelliJ IDEA默认的对齐方式如下:括号跟函数名在一行 想改为括号独自占一行,如下: 配置方式如下:File->Setting-> ...