Android 自定义滑动控件相关

举报
ShaderJoy 发表于 2021/12/30 01:15:21 2021/12/30
【摘要】 最近做侧滑控件,又把相关的知识梳理了一遍. 现总结如下 -------------------------------------- 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.写控件必备:


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








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





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




5. VelocityTracker




6. Scroller


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

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

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

评论(0

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

全部回复

上滑加载中

设置昵称

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

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

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