zoukankan      html  css  js  c++  java
  • Android View Scroller

    在继承View控件重写控件功能时,时常会对控件内容进行滚动,那么就需要调用View内容移动的两个方法之一:
    View.scrollBy(int x, int y) --> 内容平滑地滚动到目标坐标(可看的移动效果)
    View.scrollTo(int x, int y) --> 内容马上滚动到目标坐标(瞬移!?)


    当滚动时,还需要判断滚动的内容是否超过显示界限,此时要调用到两个方法来获取滚动的距离(这里需要注意的是,View是以左上角为坐标原点(0,0)),
    方法:View.getScrollX() -->获取水平坐标移动距离
          View.getScrollY() -->获取垂直坐标移动距离
    如:
    1.手指向右滑动,而内容向左滚动,View.getScrollX()得到的是负值
    2.手指向左滑动,而内容向右滚动,View.getScrollX()得到的是正值
    3.手指向下滑动,而内容向上滚动,View.getScrollY()得到的是负值
    4.手指向上滑动,而内容向下滚动,View.getScrollY()得到的是正值
    简而言之,就是手指滑动的方向和内容滚动的方向相反,参考ListView 和 HorizontalScrollView 的界面效果便知
    在获取到值后,可以通过(new Scroller()).startScroll(int startX, int startY, int dx, int dy)方法将内容滚动到适当的位置
    在View的重写方法中进行Scroller滚动响应:

    @Override
        public void computeScroll() {
            if (scroller.computeScrollOffset()) {
                // 调用这个下面的条件是由于scroller调用了滑动从而使它激发
                scrollTo(scroller.getCurrX(), scroller.getCurrY());
                invalidate();
                return;
            }
            super.computeScroll();
        }



       

  • 相关阅读:
    制作交互式网站风格的移动背景
    HTML5中的一些拖拽成员
    你不一定了解的CSS技巧
    DOS bat上使用MSSQLSERVER服务
    优化你的C语言程序就是这么简单
    编写宏的有效方法
    vba,excel,身份证,照片
    网址收藏
    PowerShell让系统可以执行.ps1文件,开机,关机,在线时间 , Function自定义函数
    按键精灵txt判断
  • 原文地址:https://www.cnblogs.com/rfheh/p/4164842.html
Copyright © 2011-2022 走看看