Android ViewFlipper详解
来源:互联网 发布:淘宝直通车新手教程 编辑:程序博客网 时间:2024/05/20 16:43
1,ViewFlipper是Android系统自带的一个多页面管理控件,它可以实现子界面的自动切换,也可以通过手势的滑动来改变界面。
2,ViewFlipper常用方法:
- setInAnimation: 设置View进入屏幕时使用的动画
- setOutAnimation: 设置View退出屏幕时使用的动画
- showNext: 调用该函数来显示ViewFlipper里面的下一个View
- showPrevious: 调用该函数来显示ViewFlipper里面的上一个View
- setFilpIntervel: 设置View之间切换的时间间隔
- startFlipping: 开始切换所有的View,切会循环进行
- stopFlipping: 停止View切换
3,准备一些图片资源,放在res—drawable-hdpi目录下。
4,在Layout布局文件里添加一个ViewFlipper标签:
<span style="font-size:18px;"><?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <ViewFlipper android:id="@+id/flipper" android:layout_height="fill_parent" android:layout_width="fill_parent"> </ViewFlipper></LinearLayout></span>
5,编写实现类中的java代码:
<span style="font-size:18px;">package com.example.viewflipper;import android.R.integer;import android.os.Bundle;import android.app.Activity;import android.view.Menu;import android.view.MotionEvent;import android.view.Window;import android.widget.ImageView;import android.widget.ViewFlipper;import com.example.tweenanimation.R;public class MainActivity extends Activity { private ViewFlipper flipper; private float startX; //记录手指的水平滑动 private int[] resId={R.drawable.apic1,R.drawable.apic2,R.drawable.apic3,R.drawable.apic4}; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.main); flipper=(ViewFlipper) findViewById(R.id.flipper); //动态导入的方式为ViewFlipper加入子view for (int i = 0; i <resId.length; i++) { //参数(getImageView(resId[i])是通过外部方法获取的图片数据源 flipper.addView(getImageView(resId[i])); } //设定ViewFlipper视图切换的时间间隔 flipper.setFlipInterval(2000); //开始播放 flipper.startFlipping(); } private ImageView getImageView(int resId){ ImageView image=new ImageView(this); //image.setImageResource(resId); //这种方式会按照图片的实际宽高来显示 //让图片充满屏幕显示 image.setBackgroundResource(resId); return image; } /* * 支持手势滑动的ViewFlipper */ @Override public boolean onTouchEvent(MotionEvent event) { switch (event.getAction()) { //手指落下 case MotionEvent.ACTION_DOWN: { startX=event.getX(); break; } // 手指滑动 case MotionEvent.ACTION_MOVE: { //向右滑动 if (event.getX()-startX>100) { //显示前一页 flipper.showPrevious(); } //向左滑动 if (startX-event.getX()>100) { //显示后一页 flipper.showNext(); } break; } // 手指离开 case MotionEvent.ACTION_UP: { break; } } return super.onTouchEvent(event); }}</span>
注意:若想单独测试手势滑动的效果,需要把自动滑动的开始播放( flipper.startFlipping();)注释掉,不然会影响手势滑动的效果。
0 0
- Android中ViewFlipper详解
- Android中ViewFlipper详解
- Android中ViewFlipper详解
- Android中ViewFlipper详解
- Android中ViewFlipper详解
- Android中ViewFlipper详解
- Android中ViewFlipper详解
- Android ViewFlipper详解
- Android Viewflipper详解。。
- android之ViewFlipper详解一
- android之ViewFlipper详解二
- Android中ViewFlipper的使用详解
- Android中ViewFlipper的使用详解
- Android中ViewFlipper的使用详解
- ViewFlipper详解
- android ViewFlipper
- Android ViewFlipper
- android ViewFlipper
- SQL和Oracle的区别
- 数据结构实践项目——树和二叉树(2)
- iOS KVC KVO
- jQuery1.9+ 废弃的函数和方法 升级Jquery版本遇到的问题
- Hadoop基础教程之高级编程【自定义每个环节的实现】
- Android ViewFlipper详解
- Html+Css_div中的垂直居中布局
- Ubuntu14.04+CUDA7.5+caffe安装说明(实测可用版)
- 堆和栈的区别
- JAVA集合类
- PyQt4 学习笔记5之对话框
- pthread_cond_wait()函数的理解
- 读论文之Object Proposalsfor Text Extraction in the Wil(二)
- elasticsearch 笔记-安装