布局悬浮——记录项目中效果

作者: JaydonLi | 来源:发表于2017-04-10 10:07 被阅读103次

    因为时间原因,这里只是简单记录一下,有兴趣查看完整代码的小伙伴,请前往<a href="https://github.com/vincentljdong/SVSlideMonitor">GitHub</a>下载查看。
    之前项目中需要实现界面滑动在顶部时,其中某一块布局悬浮,看一下效果图:


    Animation.gif

    当需要悬浮的布局滑动到标题栏时,悬浮在顶部,向下滑时恢复原样。
    在来看一下简单实现后的效果图:


    SVSlideMonitor.gif
    这个效果实现起来不难,简单说一下实现思路:
    1、监听滚动时的Y值变化
    2、判断当前位置在顶部时,添加悬浮布局

    3、否则就直接移除布局
    4、重写onTouchEvent,对手势抬起时界面还在滑动时做相关处理
    具体的还是来看看代码:
    <b>悬浮布局文件</b>


    2017-04-09_212629.png
    <b>主布局文件</b>
    2017-04-09_212648.png

    布局文件具体代码就不需要贴出来了,很简单。

    <b>java代码</b>

    2017-04-09_213527.png

    自定义ScrollView,实现三个构造方法

    • 第一个构造方法就是我们平常在普通代码中新建view对象的时候
      xxx x=new xxx(this);

    • 第二个构造就是我们在xml中添加一个view,将自定义的view在布局中引用,这样就把我们自定义的view添加进布局中,如果我们添加一些属性,margin,height,witch等,这些属性会存放在AttributeSet参数中

    • 第三个构造方法比第二个多出一个defStyleAttr的int类型的值,这是一个自定义属性的参数,第三个构造方法是不会被系统默认调用的,而是我们自己自己显示调用,比如在第二个构造方法中调用第三个函数,并将第三个参数设为0(设置为0一般可以满足基本开发)

    2017-04-09_220225.png

    定义一个接口回调,用来回调Y值


    2017-04-09_220501.png

    重写onTouchEvent方法做相关逻辑操作

    这里只是将MyScrollView类中的代码贴出了部分,具体的请前往<a href="https://github.com/vincentljdong/SVSlideMonitor">GitHub</a>下载查看。

    相关文章

      网友评论

        本文标题:布局悬浮——记录项目中效果

        本文链接:https://www.haomeiwen.com/subject/qvhjattx.html