viewpager左右滑动,viewpager禁止滑动
安卓-支持-v4.jar,这是谷歌官方给我们提供的一个兼容低版本机器人设备的软件包,里面包囊了只有在Android3.0以上可以使用的api。而查看寻呼机就是其中之一,利用它我们可以做很多事情,从最简单的导航,到页面切换菜单等等。
•本演示向大家演示查看寻呼机的使用,并在用户未滑动视角时,每隔5s钟自动切换到下一个查看(循环切换),而当用户有触控到视角时取消5s自动切换功能。并有指示器指示当前处于哪一个查看。
导入安卓。支持。v4。查看。查看寻呼机;
导入安卓。支持。v4。查看。查看寻呼机。onpagechangelistener
导入安卓。查看。运动事件;
导入安卓。查看。查看;
导入安卓。查看。查看。ontouchlistener
导入安卓。查看。查看组;
导入安卓。查看。查看组。布局参数;
导入安卓。小部件。imageview
@SuppressLint(HandlerLeak )
公共类主要活动扩展活动{
private ImageView[]imageViews=null;
private ImageView ImageView=null;
私有视图寻呼机advPager=null
私有原子整数what=新原子整数(0);
私人的布尔值isContinue=true
@覆盖
创建时的公共void(绑定保存的实例状态){
超级棒。oncreate(savedInstanceState);
setContentView(r . layout。main);
init view pager();
adv pager=(view pager)findViewById(r . id。adv _ pager);
视图组group=(视图组)findViewById(r . id。查看群);
//这里存放的是四张广告背景
列表视图建议=新数组列表视图
ImageView img 1=新ImageView(this);
img 1。setbackgroundresource(r . drawable。广告_默认_ 1);
忠告。添加(img 1);
ImageView img2=新ImageView(这个);
img 2。setbackgroundresource(r . drawable。广告_默认_ 2);
忠告。添加(img 2);
ImageView img3=新ImageView(这个);
img 3。setbackgroundresource(r . drawable。广告_默认_ 3);
忠告。添加(img 3);
ImageView im G4=新ImageView(this);
img 4。setbackgroundresource(r . drawable。广告_默认);
忠告。添加(img 4);
//对图像视图进行填充
imageViews=新的ImageView[advpics。size()];
//小图标
for(int I=0;我建议。size();i ) {
图像视图=新imageView(这个);
imageView.setLayoutParams(新LayoutParams(20,20));
imageView.setPadding(5,5,5,5);
imageViews[I]=imageView;
if (i==0) {
图像视图[我]。setBackgroundResource(r . drawable。banner _ Dian _焦点);
}否则{
图像视图[我]。setBackgroundResource(r . drawable。banner _ Dian _模糊);
团体。addview(imageViews[I]);
advPager.setAdapter(新AdvAdapter(advPics));
高级寻呼机。setonpagechangelistener(new GuidePageChangeListener());
高级寻呼机。setontouchlistener(new OnTouchListener(){
@覆盖
公共布尔onTouch(视图v,运动事件事件){
switch (event.getAction()) {
案例运动事件。动作_向下:
案例运动事件。动作_移动:
isContinue=false
打破;
案例运动事件。行动_行动:
isContinue=true
打破;
默认值:
isContinue=true
打破;
返回错误的
新线程(新Runnable() {
@覆盖
公共无效运行(){
while (true) {
if (isContinue) {
视图处理程序。senemptymessage(什么。get());
什么选项();
}).start();
public void destroyItem(View arg0,int arg1,Object arg2) {
((ViewPager) arg0).删除视图(视图。get(arg 1));
@覆盖
公共void完成更新(视图参数0){
@覆盖
public int getCount() {
返回视图。size();
@覆盖
公共对象实例化项目(View arg 0,int arg1) {
((ViewPager) arg0).addView(views.get(arg1),0);
返回视图。get(arg 1);
@覆盖
公共布尔值isViewFromObject(视图arg0,对象arg1) {
返回arg0==arg1
@覆盖
公共void还原状态(Parcelable arg 0,ClassLoader arg1) {
@覆盖
公共Parcelable saveState() {
返回空
@覆盖
公共void开始更新(视图参数0){
}
2.布局文件
?可扩展标记语言版本=1.0 编码=utf-8 ?
线性布局xmlns:Android= http://模式。安卓。 com/apk/RES/Android
Android:layout _ width= fill _ parent
Android:layout _ height= fill _ parent
安卓:方向=垂直
相对布局
Android:layout _ width= wrap _ content
Android:layout _ height= wrap _ content
安卓:方向=垂直
!-查看寻呼机是一个控件-
安卓。支持。v4。查看。查看寻呼机
android:id=@ id/adv_pager
Android:layout _ width= fill _ parent
android:layout_height=160dp
/安卓。支持。v4。查看。查看寻呼机
线性布局
android:id=@ id/viewGroup
Android:layout _ below= @ id/adv _ pager
Android:layout _ width= fill _ parent
Android:layout _ height= wrap _ content
Android:layout _ margin top=-25px
安卓:重力=右
安卓:方向=水平
/线性布局
/RelativeLayout
/线性布局