手机
当前位置:查字典教程网 >编程开发 >安卓软件开发 >Android编程实现左右滑动切换背景的方法
Android编程实现左右滑动切换背景的方法
摘要:本文实例讲述了Android编程实现左右滑动切换背景的方法。分享给大家供大家参考,具体如下:最近想做一个左右滑动切换背景图片的应用,特地将自...

本文实例讲述了Android编程实现左右滑动切换背景的方法。分享给大家供大家参考,具体如下:

最近想做一个左右滑动切换背景图片的应用,特地将自己的研究分享一下:

这个需要继承2个监听接口 OnGestureListener, OnTouchListener

关于这2个接口大家可以在网上查一下

同时需要设置2个属性

bgLayout.setOnTouchListener(this); bgLayout.setLongClickable(true);

并且在这个函数中有如下这几句话

public boolean onTouch(View v, MotionEvent event) { // TODO Auto-generated method stub return this.mGesture.onTouchEvent(event); }

附送代码:

public class SwitcherActivity extends Activity implements OnGestureListener, OnTouchListener { /** Called when the activity is first created. */ LinearLayout bgLayout = null; private GestureDetector mGesture = null; private int flag = 3; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); mGesture = new GestureDetector(this); bgLayout = (LinearLayout) findViewById(R.id.bg); bgLayout.setBackgroundResource(R.drawable.bg3); bgLayout.setOnTouchListener(this); bgLayout.setLongClickable(true); } public boolean onDown(MotionEvent e) { // TODO Auto-generated method stub return false; } public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) { // 处理左右滑动 if (e1.getX() - e2.getX() > 100) { // 向左滑动 if (flag == 3) { bgLayout.setBackgroundResource(R.drawable.bg4); flag = 4; return true; } if (flag == 4) { bgLayout.setBackgroundResource(R.drawable.bg5); flag = 5; return true; } if (flag == 1) { bgLayout.setBackgroundResource(R.drawable.bg2); flag = 2; return true; } if (flag == 2) { bgLayout.setBackgroundResource(R.drawable.bg3); flag = 3; return true; } } else if (e1.getX() - e2.getX() < -100) { // 向右滑动 if (flag == 3) { bgLayout.setBackgroundResource(R.drawable.bg2); flag = 2; return true; } if (flag == 2) { bgLayout.setBackgroundResource(R.drawable.bg1); flag = 1; return true; } if (flag == 5) { bgLayout.setBackgroundResource(R.drawable.bg4); flag = 4; return true; } if (flag == 4) { bgLayout.setBackgroundResource(R.drawable.bg3); flag = 3; return true; } } return false; } public void onLongPress(MotionEvent e) { // TODO Auto-generated method stub } public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY) { // TODO Auto-generated method stub return false; } public void onShowPress(MotionEvent e) { // TODO Auto-generated method stub } public boolean onSingleTapUp(MotionEvent e) { // TODO Auto-generated method stub return false; } public boolean onTouch(View v, MotionEvent event) { // TODO Auto-generated method stub return this.mGesture.onTouchEvent(event); } }

希望本文所述对大家Android程序设计有所帮助。

【Android编程实现左右滑动切换背景的方法】相关文章:

Android编程实现擦除Bitmap中某一块的方法

android 左右滑动+索引图标实现方法与代码

android中ListView数据刷新时的同步方法

android为按钮添加事件的三种方法

在Android 模拟器上安装和卸载APK包的方法

Android 在其他线程中更新UI线程的解决方法

Android中实现EditText圆角的方法

Android编程之客户端通过socket与服务器通信的方法

Android实现多线程断点下载的方法

基于Android中手势交互的实现方法

精品推荐
分类导航