隐藏/显示带有比例动画的工厂
Posted
技术标签:
【中文标题】隐藏/显示带有比例动画的工厂【英文标题】:hide/show fab with scale animation 【发布时间】:2016-04-05 20:35:58 【问题描述】:我正在使用自定义浮动操作菜单。我需要像这里一样在显示/隐藏菜单按钮上实现缩放动画 floating action button behaviour
有什么办法吗?
【问题讨论】:
使用设计库提供的 fab.show() 和 fab.hide() 方法。另外你可能想检查this 它不是 android fab 库它的自定义 fab 菜单 here 当框架为你提供这个控件时,你为什么要使用库? ***.com/a/30953215/1318946 【参考方案1】:设计支持库修订版 22.2.1 将 hide() 和 show() 方法添加到 FloatingActionButton
类,因此您可以从现在开始使用它们。
FloatingActionButton mFab;
mFab.hide();
mFab.show();
您可以在其上应用您自己的动画。 欲了解更多信息check this. 有关 FAB 的更多信息,请查看official documentation.
【讨论】:
链接google的东西很可笑,我们需要例子【参考方案2】:您可以将这些缩放动画用于 fab 按钮,它提供与设计 lib fab 按钮相同的效果。
scale_up.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" >
<scale
android:duration="100"
android:fromXScale="0"
android:fromYScale="0"
android:pivotX="85%"
android:pivotY="85%"
android:toXScale="1.0"
android:toYScale="1.0" />
</set>
scale_down.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" >
<scale
android:duration="100"
android:fromXScale="1.0"
android:fromYScale="1.0"
android:pivotX="85%"
android:pivotY="85%"
android:toXScale="0"
android:toYScale="0" />
</set>
【讨论】:
我把这个放在哪里,我如何应用它? 就像 Anuj 说的:FloatingActionButton fab = this.findViewById( ... ); Animation myAnim = AnimationUtils.loadAnimation(MainActivity.this, R.anim.scale_up); fab.startAnimation(myAnim);
【参考方案3】:
在您的自定义视图上加载这些动画。不要忘记将轴心点设置为 50%,将插值器设置为线性插值器。
scale_up.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" >
<scale
android:duration="100"
android:fromXScale="0"
android:fromYScale="0"
android:interpolator="@android:anim/linear_interpolator"
android:pivotX="50%"
android:pivotY="50%"
android:toXScale="1.0"
android:toYScale="1.0" />
</set>
scale_down.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" >
<scale
android:duration="100"
android:fromXScale="1.0"
android:fromYScale="1.0"
android:interpolator="@android:anim/linear_interpolator"
android:pivotX="50%"
android:pivotY="50%"
android:toXScale="0"
android:toYScale="0" />
</set>
【讨论】:
以上是关于隐藏/显示带有比例动画的工厂的主要内容,如果未能解决你的问题,请参考以下文章
单击时隐藏和显示 div,带有绝对位置的动画,并在隐藏时将其删除
如何使用 React-Transition-Group 显示和隐藏带有动画的模态/对话框?
在 react-native 中隐藏和显示带有动画的 createBottomTabNavigator 选项卡栏
我正在使用带有 WebView 的 LinearProgressIndicator 来显示网页渲染进度,当进度动画达到 100 时如何隐藏它?