ViewPage使用(一)

效果图


mainActivity.java


import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;
import androidx.viewpager.widget.PagerTitleStrip;
import androidx.viewpager.widget.ViewPager;import java.util.ArrayList;
import java.util.List;import fengxing.primer.textlink.R;public class ViewpageActivity extends AppCompatActivity {private ViewPager vp_change_page;private PagerTitleStrip pts_page_title;//每一页标题private List<View> layoutList;//每一页的布局private List<String> titleList;//标题@Overrideprotected void onCreate(@Nullable Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_viewpage);initView();}private void initView() {vp_change_page = findViewById(R.id.vp_change_page);pts_page_title = findViewById(R.id.pts_page_title);//动态加载页面布局View page1 = LayoutInflater.from(ViewpageActivity.this).inflate(R.layout.page1,null);View page2 = LayoutInflater.from(ViewpageActivity.this).inflate(R.layout.page2,null);View page3 = LayoutInflater.from(ViewpageActivity.this).inflate(R.layout.page3,null);layoutList = new ArrayList<View>();layoutList.add(page1);layoutList.add(page2);layoutList.add(page3);titleList = new ArrayList<String>();titleList.add("页面一");titleList.add("页面二");titleList.add("页面三");//设置适配器vp_change_page.setAdapter(new MyPagerAdapter(layoutList,titleList));}
}

pageAdapter.java


import android.view.View;
import android.view.ViewGroup;import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.viewpager.widget.PagerAdapter;
import androidx.viewpager.widget.ViewPager;import java.util.List;class MyPagerAdapter extends PagerAdapter {private List<View> list;private List<String> titleList;public MyPagerAdapter(List<View> list, List<String> titleList) {this.list = list;this.titleList = titleList;}@Overridepublic int getCount() {return list.size();}@Overridepublic boolean isViewFromObject(@NonNull View view, @NonNull Object object) {return view==object;}@Overridepublic void destroyItem(@NonNull ViewGroup container, int position, @NonNull Object object) {//super.destroyItem(container, position, object);((ViewPager)container).removeView(list.get(position));}@Nullable@Overridepublic CharSequence getPageTitle(int position) {return titleList.get(position);}@NonNull@Overridepublic Object instantiateItem(@NonNull ViewGroup container, int position) {((ViewPager)container).addView(list.get(position));return list.get(position);}}

mainLayout.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayoutxmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"><androidx.viewpager.widget.ViewPagerandroid:layout_gravity="center"android:id="@+id/vp_change_page"android:layout_width="wrap_content"android:layout_height="wrap_content"><androidx.viewpager.widget.PagerTitleStripandroid:layout_gravity="top"android:id="@+id/pts_page_title"android:layout_width="wrap_content"android:layout_height="wrap_content"></androidx.viewpager.widget.PagerTitleStrip></androidx.viewpager.widget.ViewPager></RelativeLayout>

pageLayout.xml

每个页面可自由发挥

<?xml version="1.0" encoding="utf-8"?>
<LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"android:orientation="vertical"android:background="@drawable/back1"android:layout_width="match_parent"android:layout_height="match_parent"></LinearLayout>

ViewPage使用(一)相关推荐

  1. 新手求助:大神们帮帮我,关于在ViewPage中添加GridView的问题

    如图我在viewpage中建立了这样三个页面,现在我想在第一个页面中添加一个Gridview布局,但是总是出错,GridView和Viewpage两份代码分开使用没有任何问题,但是一但嵌套在一起就老是 ...

  2. ViewPage+Fragment的使用例子

    2013年9月6日Fragment学习 Fragment这个东西,我到现在才接触到,之前没有用到过,关于Fragment这个东西在官方文档已经介绍了非常清楚了,我还特地转载了官方API的中文翻译,在这 ...

  3. 解决ScrollView与ViewPage滑动冲突的问题

    2019独角兽企业重金招聘Python工程师标准>>> <?xml version="1.0" encoding="utf-8"?> ...

  4. Android之解决viewpage加载第3个fragment的时候,第一个fragment又重新构建问题

    1 .问题 viewpage加载第3个fragment的时候,第一个fragment又重新构建问题,感觉自己好傻逼的,不知道啥原因,原来是少了一个设置,加载旁边多少个fragment不销毁 2 .解决 ...

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

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

  6. ViewPage最全解析

    简单说明: ViewPager是android扩展包v4包中的类,直接继承了ViewGroup类,和LinearLayout等布局一样,都是一个容器,需要在里面添加我们想要显示的内容. 一.在xml中 ...

  7. 使用viewPage实现图片轮播

    概述 图片循环播放这种效果,在许多的场合都能看到,只要一打开各大主流网站的首页几乎都有一个这样的组件,它可以很显目的提供给用户最近最火热的信息.因为它应用得如此之广泛,今天,我们就来写一下这个组件. ...

  8. Android反射修改view,Android 修改viewpage滑动速度的实现代码

    1.自定义Scroller public class ViewPageFixedSpeedScroller extends Scroller { private int mDuration = 300 ...

  9. viewpage滑动查看图片并再有缩略图预览

    首先看下效果图, 主要功能分为3大块 一是滑动查看,通过viewpage来实现,方法见 http://www.cnblogs.com/lovemo1314/p/6109312.html 二.点击放大 ...

  10. viewflip和viewpage

    1. ViewFlipper继承ViewAnimator,切换view的时候是有动画效果的,适合做ppt,多界面的程序欢迎引导界面,算是个轻量级的组件,适合展示静态数据,少量数据. ViewPager ...

最新文章

  1. go定时器 每天重复_通过测试学习Go:Hello, World
  2. wifi无线网卡移植到andorid
  3. [转]阿里开源低代码引擎LowCodeEngine
  4. Python学习笔记之函数(三)
  5. BERT源码分析PART II
  6. 读书笔记-简单叙述对象关系
  7. FPGA图像加速解决方案来了
  8. mvc5 源码解析2-2 mvchandler的执行
  9. 机器学习/深度学习常用库的配置及其适用的算法总结
  10. iOS手机模拟器配置
  11. Word 内容被锁定的两种解决方法
  12. 解决谷歌浏览器打不开
  13. Dell730xd服务器与IntelX520万兆网卡兼容性问题解决过程
  14. 清明节到来,微信公众号图文排版有哪些使用技巧?
  15. StarUML的使用
  16. linux5.8关闭屏幕保护,chia linux
  17. 深层循环神经网络(DRNN)
  18. OpenAPI EAI API
  19. 步兵战场环境目标分析仿真系统软件
  20. 本科去向选择之一——保研

热门文章

  1. 中国企业云计算应用现状及需求调研报告
  2. nginx配置ssl证书实现微信小程序后端接口访问
  3. 【FAQ】【Push Kit】 华为怎么设置角标
  4. python 视频剪辑_视频剪辑什么鬼?Python 带你高效创作短视频
  5. python实现泊松分布_Python实现概率分布(二项分布、伯努利分布、泊松分布、几何分布、正态分布等)...
  6. 1、系统需求分析与可行性分析(System Requirement Analysis and Feasibility Analysis)
  7. 台式计算机安装无线网卡驱动程序,台式电脑无线网卡驱动程序怎么安装
  8. 2021年塔式起重机司机考试报名及塔式起重机司机免费试题
  9. 大气传输、大气辐射传输
  10. 树莓派4B 安装卸载pip、pip3