AndroidStudio最新版本如何实现水平滑动?
创始人
2024-08-21 11:00:35
0
  1. 在布局文件中添加HorizontalScrollView或ViewPager组件。

  2. 监听用户的手势事件,可以使用GestureDetector类。在onTouchEvent方法中创建GestureDetector对象,并重写onFling方法。

GestureDetector mGestureDetector = new GestureDetector(this, new GestureDetector.SimpleOnGestureListener() { @Override public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) { if (e1.getX() < e2.getX()) { // 手势向右滑动 } else if (e1.getX() > e2.getX()) { // 手势向左滑动 } return super.onFling(e1, e2, velocityX, velocityY); } });

  1. 将GestureDetector对象与水平滚动组件绑定。在水平滚动组件上覆盖onTouchEvent方法,将所有的触控事件传递给GestureDetector进行处理。

@Override public boolean onTouchEvent(MotionEvent event) { mGestureDetector.onTouchEvent(event); return super.onTouchEvent(event); }

示例代码:

public class MainActivity extends AppCompatActivity {

private GestureDetector mGestureDetector;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    HorizontalScrollView horizontalScrollView = findViewById(R.id.horizontal_scroll_view);

    mGestureDetector = new GestureDetector(this, new GestureDetector.SimpleOnGestureListener() {
        @Override
        public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) {
            if (e1.getX() < e2.getX()) {
                // 手势向右滑动
                horizontalScrollView.scrollTo(0, 0);
            } else if (e1.getX() > e2.getX()) {
                // 手势向左滑动
                horizontalScrollView.scrollTo(horizontalScrollView.getWidth(), 0);
            }
            return super.onFling(e1, e2, velocityX, velocityY);
        }
    });

    horizontalScrollView.setOnTouchListener(new View.OnTouchListener() {
        @Override
        public boolean onTouch(View v, MotionEvent event) {

相关内容

热门资讯

日前!中至鹰潭亲友圈辅助(辅助... 日前!中至鹰潭亲友圈辅助(辅助)切实是有辅助修改器(有挂透视)-哔哩哔哩1、日前!中至鹰潭亲友圈辅助...
相较于以往!来几局辅助器吾爱破... 相较于以往!来几局辅助器吾爱破解(辅助)切实是有辅助工具(有挂方略)-哔哩哔哩来几局辅助器吾爱破解脚...
据统计!广东雀神挂件脚本开挂(... 据统计!广东雀神挂件脚本开挂(辅助)一贯是有辅助挂(有挂方法)-哔哩哔哩小薇(辅助器软件下载)致您一...
有了最新消息!樱花之盛免费挂(... 有了最新消息!樱花之盛免费挂(辅助)本来真的是有辅助软件(有挂猫腻)-哔哩哔哩1、金币登录送、破产送...
网友热议!陕麻圈内购破解辅助(... 网友热议!陕麻圈内购破解辅助(辅助)确实有挂辅助神器(有挂秘诀)-哔哩哔哩1、打开软件启动之后找到中...
现场直击!广西友乐解码器下载安... 现场直击!广西友乐解码器下载安装(辅助)一直真的是有辅助脚本(确实有挂)-哔哩哔哩1、完成广西友乐解...
据文件显示!兴动互娱技巧(辅助... 据文件显示!兴动互娱技巧(辅助)一贯有挂辅助插件(有挂教学)-哔哩哔哩1、金币登录送、破产送、升级送...
近年来!越乡游义乌微信小程序辅... 近年来!越乡游义乌微信小程序辅助(辅助)其实是真的辅助软件(有挂辅助)-哔哩哔哩越乡游义乌微信小程序...
刚刚!510k脚本(辅助)切实... 刚刚!510k脚本(辅助)切实是有辅助神器(有挂详细)-哔哩哔哩1、完成510k脚本有辅助插件,帮助...
经调查!盛世辅助器(辅助)切实... 经调查!盛世辅助器(辅助)切实是真的辅助平台(有挂工具)-哔哩哔哩1、盛世辅助器辅助器安装包、盛世辅...