前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Android-多个 FlaotingActionButton 组合效果实现

Android-多个 FlaotingActionButton 组合效果实现

作者头像
圆号本昊
发布2021-09-24 11:26:23
3430
发布2021-09-24 11:26:23
举报
文章被收录于专栏:github@hornhuang

我们在实际应用过程中,经常需要实现点击 FlaotingActionButton 弹出多个 FlaotingActionButton 的效果,除了三方库的使用之外,这里我在推荐一种新的思路


首先我们在 xml 文件中添加五个 FlaotingActionButton 按钮,我的思路是:五个按钮相互叠加,只显示最上层的按钮:

代码语言:javascript
复制

然后我们在设置动画,通过点击调用动画实现展开与收回效果

代码语言:javascript
复制
    private boolean isFABOpen = true;

    private void showFABMenu(){
        isFABOpen=true;
        fab1.animate().translationY(-getResources().getDimension(R.dimen.standard_65)).setDuration(100);
        fab2.animate().translationY(-getResources().getDimension(R.dimen.standard_125)).setDuration(200);
        fab3.animate().translationY(-getResources().getDimension(R.dimen.standard_185)).setDuration(300);
        fab4.animate().translationY(-getResources().getDimension(R.dimen.standard_225)).setDuration(400);
    }

    private void closeFABMenu(){
        isFABOpen=false;
        fab1.animate().translationY(0).setDuration(150);
        fab2.animate().translationY(0).setDuration(300);
        fab3.animate().translationY(0).setDuration(450);
        fab4.animate().translationY(0).setDuration(600);
    }

在 dimen 文件中,我设置了按钮移动的距离:

代码语言:javascript
复制
    65dp
    125dp
    185dp
    245dp

到此为止,所有功能就实现了:

具体效果大家可以看这个 Demo :点击跳转 https://github.com/FishInWater-1999/AndroidClockDemo

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019/05/29 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 到此为止,所有功能就实现了:
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档