iis服务器助手广告广告
返回顶部
首页 > 资讯 > 移动开发 >Android编程实现左右滑动切换背景的方法
  • 827
分享到

Android编程实现左右滑动切换背景的方法

方法Android 2022-06-06 09:06:00 827人浏览 薄情痞子
摘要

本文实例讲述了Android编程实现左右滑动切换背景的方法。分享给大家供大家参考,具体如下: 最近想做一个左右滑动切换背景图片的应用,特地将自己的研究分享一下: 这个需要继承2

本文实例讲述了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 {
  
  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图形与图像处理技巧总结

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

您可能感兴趣的文章:Android编程实现图片背景渐变切换与图层叠加效果Android实现动态切换组件背景的方法修改Android FloatingActionButton的title的文字颜色及背景颜色实例详解Android编程实现控件不同状态文字显示不同颜色的方法Android中EditText和AutoCompleteTextView设置文字选中颜色方法Android开发中ImageLoder加载网络图片时将图片设置为ImageView背景的方法android开发修改状态栏背景色和图标颜色的示例Android中创建类似Instagram的渐变背景效果Android开发之背景动画简单实现方法Android编程实现对话框Dialog背景透明功能示例Android开发实现按钮点击切换背景并修改文字颜色的方法


--结束END--

本文标题: Android编程实现左右滑动切换背景的方法

本文链接: https://www.lsjlt.com/news/25821.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作