Android 自定义滑动控件相关

举报
ShaderJoy 发表于 2021/12/30 01:15:21 2021/12/30
1.2k+ 0 0
【摘要】 最近做侧滑控件,又把相关的知识梳理了一遍. 现总结如下 -------------------------------------- 1. View的ScrollTo和ScrollBy. 这两个函数是用来使子控件滚动的. 比如:我在ViewB上使用ViewB.ScrollTo(x,y),那么ViewB的子控件就会进行滚动,但Vie...


1. View的ScrollTo和ScrollBy.





2. offsetLeftAndRight 或 offsetTopAndBottom



3. View.Layout()


右侧
mContentView.layout(偏移量, mContentView.getTop(), 偏移量+ mContentView.getWidth(), mContentView.getBottom());
 



4.写控件必备:


      public boolean dispatchTouchEvent(MotionEvent ev)//传递Touch事件至target view(可以是自己)。
      public boolean onInterceptTouchEvent(MotionEvent ev)//在ViewGroup中定义,用于拦截Touch事件的传递。
      public boolean onTouchEvent(MotionEvent event)//Touch事件处理函数。
  
 








      if (!mTracking && !frame.contains((int) x, (int) y)) {
         return false;
      }
      return true
  
 





      if(action == MotionEvent.ACTION_MOVE){
         final int xDiff = (int) Math.abs(moveX - x);
         final int yDiff = (int) Math.abs(moveY - y);
      //是左右滑动
      if (xDiff > MOVE_MIN_NUM && yDiff < xDiff / 2) {
         return true;
      }
  
 




5. VelocityTracker




6. Scroller


文章来源: panda1234lee.blog.csdn.net,作者:panda1234lee,版权归原作者所有,如需转载,请联系作者。

原文链接:panda1234lee.blog.csdn.net/article/details/8803874

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

作者其他文章

评论(0

抱歉,系统识别当前为高风险访问,暂不支持该操作

    全部回复

    上滑加载中

    设置昵称

    在此一键设置昵称,即可参与社区互动!

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。