viewPager的基本使用
viewPager是android扩展包v4中的类,这个类可以使用户左右切换当前的view。
特性:
1.viewPager直接继承了viewGroup类,所以它是一个容器类,可以在其中添加其它的view
2.viewPager类需要一个PagerAdapter适配器类给他提供数据
3.viewPager经常个Fragment一起使用,并且提供了专门的FragmentPagerAdapter和FragmentStatePagerAdapter类
主意:在编写viewpager的使用中,还需要使用两个组件分别是PagerTitleStrip和PagerTabStrip类,PagerTitleStrip类直接集成了ViewGroup类,而PagerTabStrip继承了PagerTitleStrip类,所以这两个类也是容器类
代码XML:
<android.support.v4.view.ViewPager
android:id="@+id/viewpager"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<android.support.v4.view.PagerTabStrip
android:id="@+id/tabstrip"
android:layout_width="wrap_content"
android:layut_heigth="50dip"
android:gravity="center"/>
</android.support.v4.view.ViewPager>
MainActivity.java:
ArrayList<View> viewContainter =
new
ArrayList<View>();
ArrayList<String> titleContainer =
new
ArrayList<String>();
//取消tab下面的长横线
tabStrip.setDrawFullUnderline(flase);
//设置tab的背景颜色
tabStrip.setBackGroundColor(this.getResources().getColor(R.color.red) );
/设置当前tab页的下划线颜色
tabStrip.setTabIndicatorColor(this.getResources().getColor(R.color.red) );
tabStrip.setTextSpacing(200);
View view1 = LayoutInflater.from(
this
).inflate(R.layout.tab1,
null
);
View view2 = LayoutInflater.from(
this
).inflate(R.layout.tab2,
null
);
View view3 = LayoutInflater.from(
this
).inflate(R.layout.tab3,
null
);
View view4 = LayoutInflater.from(
this
).inflate(R.layout.tab4,
null
);
//viewpager开始添加view
viewContainter.add(view1);
viewContainter.add(view2);
viewContainter.add(view3);
viewContainter.add(view4);
//页签项
titleContainer.add(
"网易新闻"
);
titleContainer.add(
"网易体育"
);
titleContainer.add(
"网易财经"
);
titleContainer.add(
"网易女人"
);
pager.setOnPageChangeListener(
new
OnPageChangeListener() {
@Override
public
void
onPageScrollStateChanged(
int
arg0) {
Log.d(TAG,
"--------changed:"
+ arg0);
}
@Override
public
void
onPageScrolled(
int
arg0,
float
arg1,
int
arg2) {
Log.d(TAG,
"-------scrolled arg0:"
+ arg0);
Log.d(TAG,
"-------scrolled arg1:"
+ arg1);
Log.d(TAG,
"-------scrolled arg2:"
+ arg2);
}
@Override
public
void
onPageSelected(
int
arg0) {
Log.d(TAG,
"------selected:"
+ arg0);
}
});
viewPager的基本使用的更多相关文章
- 踩石行动:ViewPager无限轮播的坑
2016-6-19 前言 View轮播效果在app中很常见,一想到左右滑动的效果就很容易想到使用ViewPager来实现.对于像我们常说的banner这样的效果,具备无限滑动的功能是可以用ViewPa ...
- Android ViewPager打造3D画廊
本文已授权微信公众号:鸿洋(hongyangAndroid)在微信公众号平台原创首发. 网上有很多关于使用Gallery来打造3D画廊的博客,但是在关于Gallery的官方说法中表明: This cl ...
- Android中Fragment和ViewPager那点事儿(仿微信APP)
在之前的博文<Android中使用ViewPager实现屏幕页面切换和引导页效果实现>和<Android中Fragment的两种创建方式>以及<Android中Fragm ...
- TabLayout + ViewPager
一.实现思路 1.在build.gradle中添加依赖,例如: compile 'com.android.support:support-v4:23.4.0'compile 'com.android. ...
- android内部培训视频_第三节(3)_常用控件(ViewPager、日期时间相关、ListView)
第三节(2):常用控件之ViewPager.日期时间相关.ListView 一.ViewPager 实例:结合PagerAdapter滑动切换图片 二.日期时间相关:AnalogClock\Dig ...
- 简单的ViewPager了解Scroller类
View滑动是自定义ViewGroup中十分常见的一个功能.Android提供了多种View滑动的方法. layout方法 offsetLeftAndRight()与offsetTopAndBotto ...
- PagerSlidingTabStrip介绍及使用,让ViewPager更绚丽
转载请注明出处http://blog.csdn.net/harryweasley/article/details/42290595,谢谢. 以前一直想着,ViewPager中间的那个横线怎么跟着屏幕的 ...
- 详细分析Android viewpager 无限循环滚动图片
由于最近在忙于项目,就没时间更新博客了,于是趁着周日在房间把最近的在项目中遇到的技术总结下.最近在项目中要做一个在viewpager无限滚动图片的需求,其实百度一下有好多的例子,但是大部分虽然实现了, ...
- 一行代码引入 ViewPager 无限循环 + 页码显示
(出处:http://www.cnblogs.com/linguanh) 前序: 网上的这类 ViewPager 很多,但是很多都不够好,体现在 bug多.对少页面不支持,例如1~2张图片.功能整合不 ...
- 使用ViewPager实现自动轮播
很多APP中都实现了类似引导页的自动轮播,不由得想到昨天的引导页上修改一下代码实现轮播. 其实大体上只需要添加一个线程循环执行就可以了. 项目已同步至:https://github.com/nanch ...
随机推荐
- HTTP协议开发应用-文件服务器
HTTP(超文本传输协议)协议是建立在TCP传输协议之上的应用层协议.HTTP是一个属于应用层的面向对象的协议,由于其简捷.快速的方式,适用于分布式超媒体信息系统. 本文将重点介绍如何基于Netty的 ...
- json数据实际应用
JSON序列化输出 var xiaoming = { name: '小明', age: 14, gender: true, height: 1.65, grade: null, 'middle-sch ...
- springmvc导出excel并弹出下载框
https://my.oschina.net/aptx4869/blog/298507
- Android自动化测试 - MonkeyRunner(一)介绍
MonkeyRunner介绍: MonkeyRunner是Google提供的一个基于坐标点的Android黑盒自动化测试工具. Monkeyrunner工具提供了一套API让用户/测试人员来调用,调用 ...
- Tomcat目录结构及Tomcat Server处理一个http请求的过程
http://blog.sina.com.cn/s/blog_62cb15980101jh9x.html 1.Tomcat的结构概述 Tomcat服务器是由一系列可配置的组件构成,其核心组件是 ...
- Web标准中用于改善Web应用程序性能的各种方法总结
提起Web应用程序中的性能改善,广大开发者们可能会想到JavaScript与DOM访问等基于各种既存技术的性能改善方法.最近,各种性能改善方法被汇总成为一个Web标准. 本文对Web标准中所包含的各种 ...
- hdu1272 小希的迷宫
Problem Description 上次Gardon的迷宫城堡小希玩了很久(见Problem B),现在她也想设计一个迷宫让Gardon来走.但是她设计迷宫的思路不一样,首先她认为所有的通道都应该 ...
- background-attachment 定义背景图片随滚动轴的移动方式
- 纯JavaScripst的全选、全不选、反选 【转】
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 开发android过程中eclipse闪退解决
有一次eclipse崩溃了,然后再双击就无法打开了.换了几个版本也是如此. 后来找到了这个方法:删除文件 [workspace]/.metadata/.plugins/org.eclipse.e4.w ...