网站大量收购独家精品文档,联系QQ:2885784924

Androd实现上下滑动效果.docx

  1. 1、本文档共26页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Androd实现上下滑动效果

Android实现上下滑动效果 1.?????概念: 比如用Scroll手势在浏览器中滚屏,用Fling在阅读器中翻页等。在在Android系统中, 手势的识别是通过?GestureDetector.OnGestureListener接口来实现的。 我们先来明确一些概念: (1)?????首先:Android的事件处理机制是基于Listener(监听器)来实现的,比我们今天所 说的触摸屏相关的事件,就是通过?onTouchListener。 (2)?????其次:所有View的子类都可以通过setOnTouchListener()、setOnKeyListener()?等方法来添加对某一类事件的监听器。 (3)?????第三:Listener一般会以Interface(接口)的方式来提供,其中包含一个或多个abstract(抽象)方法,我们需要实现这些方法来完成onTouch()、onKey()等等的操作。 2.?????实践: 下面我们实现一个手触摸滑动的效果。 编写一个类,继承activity实现OnGestureListener接口。 public?class?Weight?extends?Activity?implements?OnGestureListener { ????private?ViewFlipper?flipper; ????private?GestureDetector?detector; ????protected?void?onCreate(Bundle savedInstanceState) { ???????super.onCreate(savedInstanceState); ???????flipper?=?new?ViewFlipper(this); ???????detector?=?new?GestureDetector(this); ???????LinearLayout lin =?new?LinearLayout(this); ????????lin.setLayoutParams(newLinearLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT,ViewGroup.LayoutParams.WRAP_CONTENT)); ????????lin.setOrientation(LinearLayout.VERTICAL); ????????addTxt(lin); ????????this.addContentView(lin,?new?ViewGroup.LayoutParams(200 ,200)); ????} ????public?void?addTxt(ViewGroup view) ????{ ???????TextView txt1 =?new?TextView(this); txt1.setLayoutParams(new?LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT)); ????????txt1.setText(11); ? ? ? ?...txt2和txt3一样设定 ????????flipper.addView(txt1); ????????flipper.addView(txt2); ????????flipper.addView(txt3); ????????view.addView(flipper); ????} ????/** ?????*?重写GestureDeterctor类里面的onTouchEvent方法 ?????*/ ????public?boolean?onTouchEvent(MotionEvent event) { ???????Log.i(golf, onTouch); ???????return?this.detector.onTouchEvent(event); ????} ? ?..... ????public?boolean?onFling(MotionEvent e1, MotionEvent e2,?float?velocityX, ???????????float?velocityY) { ???????if?(e1.getY() e2.getY())? ????????this.flipper.showNext(); ????????else?if?(e1.getY() e2.getY())? ????????????this.flipper.showPrevious(); ???????else ????????????return?false; ??????

文档评论(0)

镜花水月 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档