Android中实现滑动的7种方法

这篇具有很好参考价值的文章主要介绍了Android中实现滑动的7种方法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前置知识

Android坐标系

Android坐标系以屏幕的左上角这个点为原点,向右为x轴正方向,向下为y轴正方向;可以使用getLocationOnScreen(int location[])这样的方法来获取Android坐标系中点的位置,即该视图左上角在ANdroid坐标系中的坐标。在触控事件中,使用getRawX()、getRawY()方法获取的坐标也是Android坐标系中的坐标。
安卓页面滑动,Android,android,android studio,webview

视图坐标系

视图坐标系描述的是子视图在父视图中的位置关系;视图坐标系以父视图左上角为坐标原点,原点向右为x轴正方向,原点向下为Y轴正方向。通过getX()、getY()所获得的坐标就是视图坐标系中的坐标。
安卓页面滑动,Android,android,android studio,webview

触控事件—MotionEvent

MotionEvent中封装了一些常用的事件常量,定义了触控事件的不同类型,如下图所示:
安卓页面滑动,Android,android,android studio,webview
我们一般会重写onTouchEvent(MotionEvent event)方法,在这个方法中通过event.getAction()方法拉货去触控事件的类型,然后对不同的事件进行不同的处理。

获取坐标的方法

Android中提供了许多获取坐标的方法,主要可以分为两类

  • View提供的获取坐标的方法
    • getTop():获取到的是View自身的顶边到其父布局顶边的距离
    • getLeft():获取到的是View自身的左边到其夫布局左边的距离
    • getRight():获取的是View自身右边到其父布局右边的距离
    • getBottom():获取到的是View自身的底边到其父布局顶边的距离
  • MotionEvent提供的方法
    • getX():获取点击事件距离控件左边的距离,即视图坐标
    • getY():获取点击事件距离控件顶边的距离,即视图坐标
    • getRawX():获取点击事件距离整个屏幕左边的距离,即视图坐标
    • getRawY():获取点击事件距离整个屏幕顶边的距离,即视图坐标

各个方法的图示如下:
安卓页面滑动,Android,android,android studio,webview

实现滑动的7种方法

layout方法

由于View在进行绘制时,会调用onLayout()方法来设置显示的位置,所以可以通过修改View的left、top、right、bottom四个属性来控制View的坐标。

offsetLeftAndRight()和offsetTopAndBottom()

这个方法相当于系统提供的一个封装,只需要给方法传入偏移量即可完成layout的效果。

LayoutParams

LayoutParams保存了一个View的布局参数,因此可以通过哦LayoutParams来动态地修改一个布局的位置参数,从而达到改变View位置的效果。通过getLayoutParams()可以很方便地获取到LayoutParams,然后计算偏移量,最后通过setLayoutParams给View设置新的位置。需要注意的是通过getLayoutParams()获取LayoutParams时,要根据View所在父布局的类型来设置不同的类型,如果父布局是LinearLayout,那么使用的是LinearLayout.LayoutParams;如果是RelativeLayout,使用RelativeLayout.LayoutParams。如果觉得麻烦,可以使用ViewGroup.MarginLayoutParams,不需要考虑父布局的类型。文章来源地址https://www.toymoban.com/news/detail-697738.html

scrollTo和scrollBy

Scroller

属性动画

ViewDragHelper

参考

  • Android群英传

到了这里,关于Android中实现滑动的7种方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • 安卓开发——Android Studio常见报错与解决方法

    安卓开发——Android Studio常见报错与解决方法

    这个错误是由于较新版本的NDK的./toolchains目录中没有arm-linux-androideabi文件,解决办法是从旧的NDK版本里面把相关的lib复制到要使用的NDK的版本里面,重新编译运行。 打开Andrid SDK配置界面: 下载旧版本的NDK(NDK 21是包含了需要的LIB,新测可行) 然后打开SDK所在的目录: 把NDK

    2024年02月05日
    浏览(14)
  • Android Studio 加载一个 WebView 来访问网页

    为了实现在 Android Studio 加载一个 WebView 来访问网页,您可以按照以下步骤进行操作: 在布局文件中添加 WebView。在 res/layout 目录下创建一个新的 layout xml 文件(例如 webview_layout.xml)。在该文件中添加一个 WebView: 在 Java 代码中添加 WebView 的逻辑。在 Activity 类中创建 WebView 对

    2024年02月02日
    浏览(11)
  • Android WebView 获取html页面聚焦input在页面的位置

    Android WebView 获取html页面聚焦input在页面的位置,实现代码如下: 注意: WebView 要设置setJavaScriptEnabled支持JavaScript调用 返回的数值是以dp为单位,使用时需要转换为像素px

    2024年02月15日
    浏览(13)
  • Android Studio实现滑动图片验证码

    Android Studio实现滑动图片验证码

    源代码链接 效果: MainActivity SlideImageView activity_main.xml

    2024年02月13日
    浏览(14)
  • Android WebView 开发通过 chrome://inspect 调试页面设置

    Android WebView 开发通过 chrome://inspect 调试页面设置

    1. 首先在app/src/main/AndroidManifest.xml 设置允许对app debug 2. 在初始化 WebView 时调用 webView.setJavaScriptEnabled(true) 方法 3. 手机端/模拟器安装移动端chrome浏览器,如果是配合pc端chrome调试,手机端chrome版本不能比pc端chrome版本高,否则可能无法成功调试。此外也可以使用手机端chrome+

    2024年02月05日
    浏览(11)
  • Android项目在 app 中通过 WebView 访问 url显示空白,使用浏览器可以打开,Android WebView加载出现空白页面问题解决

    Android项目在 app 中通过 WebView 访问 url显示空白,使用浏览器可以打开,Android WebView加载出现空白页面问题解决

    服务器证书校验主要针对 WebView 的安全问题。 在 app 中需要通过 WebView 访问 url,因为服务器采用的自签名证书,而不是 ca 认证,使用 WebView 加载 url 的时候会显示为空白,出现无法加载网页的情况。 使用 ca 认证的证书,在 WebView 则可以直接显示出来,不需要特殊处理。 以往

    2024年02月04日
    浏览(19)
  • 安卓部分手机使用webview加载链接后白屏(Android低版本会出现的问题)

    安卓部分手机使用webview加载链接后白屏(Android低版本会出现的问题)

    大爷:小伙我这手机怎么打开你们呢这个是白屏什么都不显示。 大娘:小伙我这也是打开你们呢这功能,就是一个白屏什么也没有,你们呢的应用不会有病毒吧。 小伙:我的手机也正常; 同事:我的也正常可以显示; 小伙:你们都是什么手机型号; 大爷:我的Android7.1.1

    2024年04月15日
    浏览(9)
  • Android与H5交互 -- 点击H5跳转到 Android原生 页面 ,webview与h5(js)交互

    Android与H5交互 -- 点击H5跳转到 Android原生 页面 ,webview与h5(js)交互

    Android与H5交互 app开发过程中,利用原生+h5模式来开发是比较常见的 下面案例演示的是:原生调起一个H5页面,然后H5点击跳转到原生 WebViewActivity页面 调用H5 ,点击H5链接 跳转到原生MainActivity页面 注意 别忘了 !-- 添加网络权限 -- 一、清单文件,增加的配置 data的数据就是H5

    2023年04月14日
    浏览(13)
  • [Android Studio] 导入安卓Android项目教程

    [Android Studio] 导入安卓Android项目教程

    A项目指:要导入的项目;B项目指自己电脑上可以运行的项目 根据步骤一步一步来,别急。 将要导入的项目(简称为A)根目录下的这些文件删掉:.gradle、.idea 、.iml后缀的文件、 local.properties 进入app文件夹,将这些文件删掉:build、.iml后缀的文件 打开一个你在自己电脑上可

    2024年02月04日
    浏览(12)
  • Android Studio连接安卓手机

    Android Studio连接安卓手机

    点击右上角红框的【SDK Manager】-【SDK Tools】。 也可以在 【tools】-【SDK Manager】-【SDK Tools】下进入。 点击Google USB Driver,下载后点ok。 右键【我的电脑】-【高级系统设置】-【环境变量】,新建变量【Android_Home】; 值为:C:UsersHuoAppDataLocalAndroidSdk;C:UsersHuoAppDataLocalAnd

    2024年02月16日
    浏览(17)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包