iis服务器助手广告广告
返回顶部
首页 > 资讯 > 移动开发 >Android移动端touch实现下拉刷新功能
  • 445
分享到

Android移动端touch实现下拉刷新功能

touchAndroid 2022-06-06 04:06:18 445人浏览 薄情痞子
摘要

第一部分:四个touch事件   1.touchstart:只要将手指放在了屏幕上(而不管是几只),都会触发touchstart事件。   2.touchmove: 当我们用手

第一部分:四个touch事件

  1.touchstart:只要将手指放在了屏幕上(而不管是几只),都会触发touchstart事件。

  2.touchmove: 当我们用手指在屏幕上滑动时,这个事件会被连续触发。 如果我们不希望页面随之滑动,我们可以使用event的preventDefault来阻止这个默认行为。

  3.touchend: 当手指滑动后离开屏幕,这时就触发了touchend事件。

  4.touchcancel: 系统停止跟踪触摸时候会触发。例如在触摸过程中突然页面alert()一个提示框,此时会触发该事件,这个事件比较少用。

第二部分:四个touch对象

   1. touches,这是一个类数组对象,包含了所有的手指信息,如果只有一个手指,那么我们用touches[0]来表示。

   2. targetTouches 。 手指在目标区域的手指信息。

     3. changedTouches:最近一次触发该事件的手指信息。

     4. touchend时,touches与targetTouches信息会被删除,changedTouches保存的最后一次的信息,最好用于计算手指信息。

第三部分:实例1

  先看效果图:

  它的实现原理非常简单,就是将红色圆形的postion属性设为absolute,然后,当我们滑动它时,就触发了touchmove事件,将其Left和top设置为event的pageX和pageY即可,为保证触发中心与圆心在同一位置,只需将pageX加上width的一半,pageY加上height的一半。

  源码如下:


<!DOCTYPE html>
<html>
<head>
 <title>touchExample</title>
 <meta name="viewport" content="width=device-width,user-Scalable=no,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0">
 <script type="text/javascript" src="Http://code.Jquery.com/jquery-latest.js"></script> 
 <style>
  #touchDiv{
   position: absolute;
   width: 50px;
   height: 50px;
   top: 20px;
   left: 20px;
   text-align: center;
   line-height: 50px;
   color:white;
   border-radius: 50%;
   background-color: red;
  }
 </style>
</head>
<body>
 <div id="touchDiv">点我</div>
 <script>
  var touchDiv = document.getElementById("touchDiv");
  var x,y;
  touchDiv.addEventListener("touchstart",canDrag);
  touchDiv.addEventListener("touchmove",drag);
  touchDiv.addEventListener("touchend",nodrag);
  function canDrag (e) {
   console.log("God开始");
  }
  function drag (e) {
   $("#touchDiv").CSS("left",e.touches[0].pageX-25);
   $("#touchDiv").css("top",e.touches[0].pageY-25);
  }
  function nodrag () {
   console.log("god结束");
  }
 </script>
</body>
</html>

 第四部分:实例2

  这个实例就是下拉刷新功能的实现,效果如下:

源码如下:


<!DOCTYPE html>
<html>
<head>
 <title>下拉刷新</title>
 <meta name="viewport" content="width=device-width,user-scalable=no,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0">
 <style>
  *{
   margin:0;
   padding: 0;
   font-size:15px;
  }
  .header{
   height: 50px;
   line-height: 50px;
   text-align: center;
   background-color: blue;
   color:white;
   font-size: 23px;
  }
  .drag_to_refresh{
   align-items: center;
   padding-left: 155px;
   background-color: #bbb;
   color:yellow;
   display: none;
  }
  .refresh{
   height: 50px;
   line-height: 50px;
   text-align: center;
   background-color: #bbb;
   color: green;
   display: none;
  }
  .drag{
   text-align: center;
   background-color: lightgray;
   position: relative;
   padding:20px;
   text-indent: 1em;
   line-height: 30px;
   font-size:18px;
  }
 </style>
</head>
<body>
 <div class="header">政务云</div>
 <div class="drag_to_refresh"></div>
 <div class="refresh">刷新中...</div>
 <div class="drag">电子政务云(E-government cloud)属于政府云,结合了云计算技术的特点,对政府管理和服务职能进行精简、优化、整合,并通过信息化手段在政务上实现各种业务流程办理和职能服务,为政府各级部门提供可靠的基础IT服务平台。</div>
<script>
window.onload = function () {
 var initX;
 var drag_content = document.querySelector(".drag");
 var drag_to_refresh = document.querySelector(".drag_to_refresh");
 var refresh = document.querySelector(".refresh");
 drag_content.addEventListener("touchmove",drag);
 drag_content.addEventListener("touchstart",dragStart);
 drag_content.addEventListener("touchend",dragEnd);
 function dragStart(e){
  initY = e.touches[0].pageY;
  console.log(initX);
 }
 function drag (e){
  drag_to_refresh.style.display = "block";
  drag_to_refresh.style.height = (e.touches[0].pageY - initY) + "px";
  console.log(drag_to_refresh.style.height);
  if(parseInt(drag_to_refresh.style.height)>=100){
   // 注意:因为height得到的值是px为单位,所以用parseInt解析
   drag_to_refresh.style.height = "100px";
   if(parseInt(drag_to_refresh.style.height)>80){
    drag_to_refresh.style.lineHeight = drag_to_refresh.style.height;
    drag_to_refresh.innerHTML = "松开刷新";
   }
  }
 }
 function dragEnd (e){
  if(parseInt(drag_to_refresh.style.height)>80){
   refresh.style.display = "block";
   setTimeout(reload,1000);
  }
  drag_to_refresh.style.display = "none"; 
 }
 function reload () {
  location.reload();
 }
}
</script>
</body>
</html>

以上所述是小编给大家介绍的移动端touch实现下拉刷新功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对编程网网站的支持!

您可能感兴趣的文章:安卓(Android)实现3DTouch效果Android判断touch事件点是否在view范围内的方法30分钟搞清楚Android Touch事件分发机制Android中处理apple-touch-icon详解浅谈Android onTouchEvent 与 onInterceptTouchEvent的区别详解Android的Touch事件处理机制介绍


--结束END--

本文标题: Android移动端touch实现下拉刷新功能

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

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

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

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

下载Word文档
猜你喜欢
  • Android移动端touch实现下拉刷新功能
    第一部分:四个touch事件   1.touchstart:只要将手指放在了屏幕上(而不管是几只),都会触发touchstart事件。   2.touchmove: 当我们用手...
    99+
    2022-06-06
    touch Android
  • Android开发中如何使用touch实现移动端的下拉刷新功能
    今天就跟大家聊聊有关Android开发中如何使用touch实现移动端的下拉刷新功能,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。第一部分:四个touch事件  1.touchstar...
    99+
    2023-05-31
    touch roi android
  • Android ListView实现上拉加载下拉刷新和滑动删除功能
    最近项目需要用到可以滑动删除并且带有上拉加载下拉刷新的Listview,查阅了一些资料,大多都是在SwipeMenuListView的基础上去添加头部和底部View,来扩展上拉...
    99+
    2022-06-06
    listview Android
  • Android ListView实现上拉加载更多和下拉刷新功能
    本文实例为大家介绍了Android ListView下拉刷新功能的实现方法和功能,供大家参考,具体内容如下 1、ListView优化方式 界面缓存:ViewHolder+con...
    99+
    2022-06-06
    listview Android
  • Android Listview上下拉动刷新tab滑动切换功能
    近期要做一个含有两个tab切换页面,两个页面有公共的描述信息区域,两个tab都是listview,可以向上或向下拉动刷新,在页面中部有一个tab切换区域,向上滑动的时候tab区...
    99+
    2022-06-06
    tab listview Android
  • Javascript如何实现下拉刷新功能
    这篇文章将为大家详细讲解有关Javascript如何实现下拉刷新功能,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。Html相关代码<!DOCTYPE ht...
    99+
    2022-10-19
  • Iscrool如何实现下拉刷新功能
    这篇文章主要为大家展示了“Iscrool如何实现下拉刷新功能”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Iscrool如何实现下拉刷新功能”这篇文章吧。简易下...
    99+
    2022-10-19
  • Android实现上拉加载更多以及下拉刷新功能(ListView)
    首先为大家介绍Andorid5.0原生下拉刷新简单实现。 先上效果图; 相对于上一个19.1.0版本中的横条效果好看了很多。使用起来也很简单。 <FrameLayo...
    99+
    2022-06-06
    listview Android
  • Android如何通过XListView实现上拉加载下拉刷新功能
    小编给大家分享一下Android如何通过XListView实现上拉加载下拉刷新功能,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!具体内容如下## 导入XListVIew第三方库文件。通过LinkedList将刷新...
    99+
    2023-05-30
  • Android应用中怎么实现一个下拉刷新功能
    Android应用中怎么实现一个下拉刷新功能?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。一、下拉才出现的视图pull_to_refresh_header.xml<x...
    99+
    2023-05-31
    android roi
  • Android自定义listview布局实现上拉加载下拉刷新功能
    listview实现上拉加载以及下拉刷新的方式有很多。下面是我写的一种自定义的布局,复用性也比较的强。首先就是继承的listview的自定义view。   ...
    99+
    2022-06-06
    listview Android
  • Android下拉刷新完全解析,教你如何一分钟实现下拉刷新功能(附源码)
    最近项目中需要用到ListView下拉刷新的功能,一开始想图省事,在网上直接找一个现成的,可是尝试了网上多个版本的下拉刷新之后发现效果都不怎么理想。有些是因为功能不完整或有Bu...
    99+
    2022-06-06
    android下拉刷新 源码 Android
  • vue2.0中移动端如何实现下拉刷新和上拉加载更多
    这篇文章主要介绍了vue2.0中移动端如何实现下拉刷新和上拉加载更多,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。示例<templat...
    99+
    2022-10-19
  • MUI如何实现上拉刷新/下拉加载功能
    小编给大家分享一下MUI如何实现上拉刷新/下拉加载功能,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!新闻信息列表必备的功能,支持...
    99+
    2022-10-19
  • Android 实现的下拉刷新效果
    下面是自己实现的效果: 1、分析 可以将动画分解成: 睁眼毛驴绕着中心地球旋转,并且在到达地球中心时,切换为闭眼毛驴,最后发射出去 地球自我旋转,随着下拉而缓缓上升,达到半径距离后...
    99+
    2022-11-12
  • Android控件RefreshableView实现下拉刷新
    需求:自定义一个ViewGroup,实现可以下拉刷新的功能。下拉一定距离后(下拉时显示的界面可以自定义任何复杂的界面)释放手指可以回调刷新的功能,用户处理完刷新的内容后,可以调...
    99+
    2022-06-06
    Android
  • Android RefreshLayout实现下拉刷新布局
    项目中需要下拉刷新的功能,但是这个View不是ListView这类的控件,需要ViewGroup实现这个功能,一开始网上大略找了一下,没发现特别合适的,代码也是没怎么看懂,所以...
    99+
    2022-06-06
    布局 Android
  • Android RecyclerView 上拉加载更多及下拉刷新功能的实现方法
    RecyclerView 已经出来很久了,但是在项目中之前都使用的是ListView,最近新的项目上了都大量的使用了RecycleView.尤其是瀑布流的下拉刷新,网上吧啦吧啦...
    99+
    2022-06-06
    方法 recyclerview Android
  • vue.js怎么实现拉加载以及下拉刷新功能
    本篇内容主要讲解“vue.js怎么实现拉加载以及下拉刷新功能”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“vue.js怎么实现拉加载以及下拉刷新功能”吧!上拉加...
    99+
    2022-10-19
  • uniapp怎么实现下拉刷新和上拉加载功能
    随着移动端开发的不断升级,开发者们对于移动应用的需求也越来越高。而在很多移动应用中,下拉刷新和上拉加载更多是必不可少的功能之一,为了提高用户体验,许多移动应用都会加入这两个功能。在这里,我们将介绍如何在uniapp中实现下拉刷新和上拉加载更...
    99+
    2023-05-14
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作