Android 讲义第二版 ViewSwitcher + GestureDetector 练习
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Android 讲义第二版 ViewSwitcher + GestureDetector 练习,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3092字,纯文字阅读大概需要5分钟。
内容图文
添加手势监听:
1 GestureDetector detector;// 手势侦听
1 detector = new GestureDetector(getApplicationContext(), 2new myGestureListener());
手势侦听 在 onFling 中指定屏幕滑动效果和展示图像:
1 class myGestureListener implements OnGestureListener { 2// 当触碰事件按下时触发该方法 3 @Override 4publicboolean onDown(MotionEvent event) { 5returnfalse; 6 } 7 8// 用户在触摸屏上拖过时触发该方法 9 @Override 10publicboolean onFling(MotionEvent event1, MotionEvent event2, 11float velocityX, float velocityY) { 12 ((GridView) viewSwitcher.getNextView()).setAdapter(adapter); 13if (event2.getX() - event1.getX() > FLIP_DISTANCE) { 14if (screenNo > 0) { 15 screenNo--; 16// 添加屏幕动画切换效果17 viewSwitcher.setInAnimation(animations[0]); 18 viewSwitcher.setInAnimation(animations[3]); 19 viewSwitcher.showPrevious(); 20returntrue; 21 } else { 22 Toast.makeText(getApplicationContext(), "已无更多页面", 23 Toast.LENGTH_LONG).show(); 24 } 25 } else { 26if (screenNo < screenCount - 1) { 27 screenNo++; 28 viewSwitcher.setInAnimation(animations[1]); 29 viewSwitcher.setInAnimation(animations[2]); 30 viewSwitcher.showNext(); 31returntrue; 32 } else { 33 Toast.makeText(getApplicationContext(), "已无更多页面", 34 Toast.LENGTH_LONG).show(); 35 } 36 } 37returnfalse; 38 } 3940// 用户在屏幕上长按时触发该方法41 @Override 42publicvoid onLongPress(MotionEvent event) { 4344 } 4546// 用户在屏幕上滚动时触发该方法47 @Override 48publicboolean onScroll(MotionEvent event1, MotionEvent event2, 49float velocityX, float velocityY) { 50returnfalse; 51 } 5253// 用户在触摸屏上按下,而且还未移动和松开时触发该方法54 @Override 55publicvoid onShowPress(MotionEvent arg0) { 5657 } 5859// 用户在触屏上的轻击事件将触发该方法60 @Override 61publicboolean onSingleTapUp(MotionEvent arg0) { 62returnfalse; 63 } 6465 }
进入的第一个界面展示 代码:
1 public void next(View v) { 2 if (screenNo == -1) { 3 screenNo++; 4 ((GridView) viewSwitcher.getNextView()).setAdapter(adapter); 5 viewSwitcher.showNext(); 6 } else { 7 Toast.makeText(getApplicationContext(), "已无更多页面", Toast.LENGTH_LONG) 8 .show(); 9 } 10 }
定义BaseAdapter:
1 private BaseAdapter adapter = new BaseAdapter() { 2 @Override 3publiclong getItemId(int position) { 4return position; 5 } 6 7 @Override 8public DataItem getItem(int position) { 9return total.get(screenNo * Number_Per_Screen + position); 10 } 1112 @Override 13publicint getCount() { 14if (screenNo == screenCount - 1 15 && total.size() % Number_Per_Screen != 0) { 16return total.size() % Number_Per_Screen; 17 } 18return Number_Per_Screen; 19 } 2021 @Override 22public View getView(int position, View convertView, ViewGroup parent) { 23 View view = convertView; 24if (convertView == null) { 25 view = layoutInflater.inflate(R.layout.labelicon, null); 26 } 27 ImageView imageview = (ImageView) view.findViewById(R.id.imageview); 28 imageview.setImageDrawable(getItem(position).drawable); 29 TextView textView = (TextView) view.findViewById(R.id.textview); 30 textView.setText(getItem(position).DataName); 31return view; 32 } 33 };
此处只是对 疯狂Android 讲义 中ViewSwitcher 的 手势 添加 做的一个小demo,本人处于初学阶段,如有不对的地方,请各位多多指正!!
原文:http://www.cnblogs.com/leov1/p/4409793.html
内容总结
以上是互联网集市为您收集整理的Android 讲义第二版 ViewSwitcher + GestureDetector 练习全部内容,希望文章能够帮你解决Android 讲义第二版 ViewSwitcher + GestureDetector 练习所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。