zoukankan      html  css  js  c++  java
  • TabLayout您可能不知道的实用用法

    一、修改点击的动画

    函数:setUnboundedRipple
    这是默认的点击的动画

    我们用代码修改一下:

    mGlueTabLayout.setUnboundedRipple(true);
    

    这是之后的效果:

    二、设置下划线指示器的宽度不要填充完(动态的根据TabView的宽度来设置自身的宽度)

    函数:setTabIndicatorFullWidth
    这是默认的效果

    我们用代码修改一下:

    mGlueTabLayout.setTabIndicatorFullWidth(false);
    

    这是之后的效果:

    三、设置下划线指示器的样式

    函数:setSelectedTabIndicator
    这是默认的效果

    我们用代码改变:

    GradientDrawable gradientDrawable = new GradientDrawable();
    gradientDrawable.setCornerRadius(dp2px(2));
    mGlueTabLayout.setSelectedTabIndicator(gradientDrawable);
    

    我改变了其的直角,变为了圆角,看效果吧:

    您也可以在res/drawable文件夹下写个xml文件传入setSelectedTabIndicator(@DrawableRes int tabSelectedIndicatorResourceId),效果是一样的。

    这个您也许也需要

    粘动动画.gif
    这个动画很好看,我也在一些应用上看到它的影子,比如微博。

    所以,我写了GlueTabLayout简单扩展了TabLayout,添加了这个动画,GlueTabLayout本质就是TabLayout,一点未变,您怎么用TabLayout,就可以怎么使用GlueTabLayout,是不是很友好,哈哈。
    我还添加了一个TabLayout没有提供的方法,我添加了精确设置下划线指示器宽度的方法。

    我把它开源了,用以方便有需要的人,更详细的描述移步 GitHub

    以上 :)

  • 相关阅读:
    72. Edit Distance
    电脑常识
    java try·····catch·····异常处理学习
    java链接sqlserver数据库
    HTTP Status 500
    初识NDA
    Sublime Text_v2.02包含中文包以及使用方法
    ol 与ul 的区别
    word-break: break-all word-break:keep-all word-wrap: break-word三者的区别
    用deamon打开ISO文件,提示命令行错误!!
  • 原文地址:https://www.cnblogs.com/duan-xue-bin/p/10059516.html
Copyright © 2011-2022 走看看