- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
手机进入智能机时代, 触摸屏也已成为主流之势, 原来的手机按键也被屏幕点触取代, 滑动
屏幕操作则相对屏幕点击更能获得用户的青睐,习惯了各种浏览器的鼠标手势、 pad等平板
匚?
的切滑、类似iReader的软件丰富的手势后,是不是也想自己的软件能够用食指炫起来呢 ,
下面就让我们来看看 an droid的手势操作吧总
先介绍下左右滑动切换 Activity,对于复杂的手势原理一样,具体后述。
主要原理为 监控触屏事件和手势事件,在触屏事件处理函数中调用手势事件处理函数,表
示用户触屏后是否有手势操作,有则进行手势事件处理 ,大致分为四步
1 需要继承 OnGestureListener 和 OnDoubleTapListener,如下:
Java代码
1 public class ViewS nsActivity exte nds Activity impleme nts On TouchListe ner.
On GestureListe ner
这两个类分别是触屏监听器和手势监控器, 具体可查看OnTouchListener和OnGestureListener
2、在添加 mGestureDetector的定义,并在 ViewSnsActivity的onCreate函数中加入其页面 布局的 setOnTouchListener 事件
Java代码 ☆
二 GestureDetector mGestureDetector;
Java代码注i
? public void onCreate(Bundle savedInstanceState) {
super .onCreate(savedInstanceState);
setC on te ntView(R.layout.view_s ns_activity);
6
mGestureDetector = new GestureDetector(( On GestureListe ner) this);
8 Lin earLayout viewS nsLayout
(Li nearLayout)fi ndViewByld(R.id.viewS nsLayout);
viewS nsLayout.set On TouchListe ner( this);
10
10
viewSnsLayout.setLongClickable( true );
11 }
mGestureDetector为手势监听对象,下面的 OnFling就是为其实现,用来处理手势的
viewSnsLayout.setOnTouchListener(this);表示 viewSnsLayout 这个 layout 的触屏事件由下面的
On Touch 处理
3、重载onFling函数
Java代码茜
I / private int vertical Min Distanee = 20;
」?: private int minVelocity = 0;
14
i: public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float
velocityY) {
16
i」 if (e1.getX() - e2.getX() verticalMinDistanee Math.abs(velocityX)
min Velocity) {
18
.1 // 切换 Activity
工 // Intent intent = new Inten t(ViewS nsActivity.this,
UpdateStatusActivity.class);
-■ i // startActivity(i ntent);
22 Toast.makeText( this,向左手势, Toast.LENGTH_SHORT).show();
二 } else if (e2.getX() - e1.getX() verticalMinDistanee Math.abs(velocityX)
min Velocity) {
25//
25
// 切换 Activity
克 // In te nt intent = new Inten t(ViewS nsActivity.this,
UpdateStatusActivity.class);
二 // startActivity(i ntent);
28 Toast.makeText( this,向右手势, Toast.LENGTH_SHORT).show();
〉 }
30
■:i return false;
工}
OnFling的四个参数意思分别为
Xml代码 ☆
二:e1 The f
原创力文档


文档评论(0)