使用手势实现翻页效果
来源:互联网 发布:孕26周四维数据看男女 编辑:程序博客网 时间:2024/05/04 06:52
上一篇博客我们讨论了手势侦测类GestureDetector,这次我们继续一个实例,
用手势来实现翻页,这样我们就可以理解我们在手机上翻照片的原理了。
首先界面是ViewFlipper实现的,我们简单地看一下界面代码(其实就是之前哪个代码):
<ViewFlipper android:id="@+id/mViewFliper_vf" android:layout_width="match_parent" android:layout_height="wrap_content"> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content"> <ImageView android:layout_width="match_parent" android:layout_height="160dip" android:background="@drawable/default_pic_1"/> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical"> <ImageView android:layout_width="match_parent" android:layout_height="160dip" android:background="@drawable/default_pic_2"/> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical"> <ImageView android:layout_width="match_parent" android:layout_height="160dip" android:background="@drawable/default_pic_3"/> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical"> <ImageView android:layout_width="match_parent" android:layout_height="160dip" android:background="@drawable/default_pic_4"/> </LinearLayout> </ViewFlipper>ViewFlipper中设计四张图片,在同一个界面内用来切换。
再来看Activity代码:
public class TestUIActivity extends Activity implements OnGestureListener, OnTouchListener { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.main); date_TextView = (TextView) findViewById(R.id.home_date_tv); date_TextView.setText(getDate()); //视图切换 viewFlipper = (ViewFlipper) findViewById(R.id.mViewFliper_vf); mGestureDetector = new GestureDetector(this); viewFlipper.setOnTouchListener(this);//设置触摸监听器 viewFlipper.setLongClickable(true); viewFlipper.setOnClickListener(clickListener);//设置按下监听器 displayRatio_selelct(currentPage); MyScrollView myScrollView = (MyScrollView) findViewById(R.id.viewflipper_scrollview); myScrollView.setOnTouchListener(onTouchListener); //设置手势侦探 myScrollView.setGestureDetector(mGestureDetector); thread.start(); }private OnTouchListener onTouchListener = new OnTouchListener() {@Overridepublic boolean onTouch(View v, MotionEvent event) {// TODO Auto-generated method stubreturn mGestureDetector.onTouchEvent(event);}};//重写OnGestureListener的一些方法//@Overridepublic boolean onDown(MotionEvent e) {// TODO Auto-generated method stubreturn false;}@Overridepublic boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,float velocityY) {// TODO Auto-generated method stubLog.e("view", "onFling");if (e1.getX() - e2.getX()> FLING_MIN_DISTANCE && Math.abs(velocityX) > FLING_MIN_VELOCITY ) {Log.e("fling", "left");showNextView();showNext = true;return true;} else if (e2.getX() - e1.getX() > FLING_MIN_DISTANCE && Math.abs(velocityX) > FLING_MIN_VELOCITY){Log.e("fling", "right");showPreviousView();showNext = false;return true;}return false;}@Overridepublic void onLongPress(MotionEvent e) {}@Overridepublic boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX,float distanceY) {return false;}@Overridepublic void onShowPress(MotionEvent e) {}@Overridepublic boolean onSingleTapUp(MotionEvent e) {return false;}这样,当我们在屏幕上交互时,比如从左向右滑动或者从右向左滑动,屏幕图片发生改变:
滑动手指:
这样就实现了翻页效果。
- 使用手势实现翻页效果
- 在android中实现手势翻页效果
- 通过手势(GestureDetector)实现翻页效果
- Android通过手势实现翻页效果
- Android 手势检测及通过手势实现翻页效果
- android手势翻页效果
- Android手势翻页效果
- 用ViewFlipper和GestureDetector实现手势翻页的效果
- Android移动开发-通过手势实现翻页效果
- 使用clayui实现书本翻页效果
- 使用QGridLayout布局实现翻页效果
- 手势GestureDetector与ViewFlipper结合使用,实现滑动翻页
- 通过 Gesture (手势)实现翻页
- Android 实现答题器功能(通过手势实现翻页效果)
- 初学Android,手势翻页效果(四十九)
- PagerView实现翻页效果
- 实现Ajax翻页效果
- js实现翻页效果
- (三)简单工厂模式详解
- 为什么我的jquery.js引入不正确
- 关于失眠
- 两张路由表(FIB)的内容
- (四)工厂方法模式详解(另附简单工厂的死亡之路)
- 使用手势实现翻页效果
- Spring MVC 3.2.2 +easyui 返回JSON数据格式
- 啤酒鸡翅的做法
- c#前台线程与后台线程的区别和联系
- 随想录(驱动开发程序员需要的一些技能)
- (五)抽象工厂模式详解
- Chrome插件——一键保存网页为PDF1.0发布
- Windows操作系统原理笔记
- 使用 jackson序列格式化日期