gpt4 book ai didi

android - Umano Android SlidingUpPanel - 动画

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:55:48 26 4
gpt4 key购买 nike

我正在使用以下项目:https://github.com/umano/AndroidSlidingUpPanel

到目前为止它工作得很好,但我有一个问题:我想隐藏可滑动面板,直到我按下一个按钮,然后面板应该淡入,并带有动画;目前面板在按下按钮时显示,但没有动画,我不知道如何实现所述动画。

非常欢迎任何想法!

最佳答案

我知道自您提问以来已经过去 4 个月了,但我还是决定发布一个答案(这样其他人也许可以从中受益)。

在可滑动面板中淡入淡出相对容易。你只需要开始 AlphaAnimation在代表可滑动面板的布局上。您可能需要通过添加

来禁用面板阴影
sothree:shadowHeight="0dp"

到您的 xml 中的主要布局。

更有趣的是,当您想从屏幕底部展开可滑动面板时(如果面板固定在底部)。在这种情况下,您可以使用以下代码:

import android.view.animation.Animation;
import android.view.animation.Transformation;

import com.sothree.slidinguppanel.SlidingUpPanelLayout;

public class SlidingUpPanelResizeAnimation extends Animation {

private SlidingUpPanelLayout mLayout;

private float mTo;
private float mFrom = 0;

public SlidingUpPanelResizeAnimation(SlidingUpPanelLayout layout, float to, int duration) {
mLayout = layout;
mTo = to;

setDuration(duration);
}

@Override
protected void applyTransformation(float interpolatedTime, Transformation t) {
float dimension = (mTo - mFrom) * interpolatedTime + mFrom;

mLayout.setPanelHeight((int) dimension);

mLayout.requestLayout();
}
}

然后通过以下方式启动动画:

SlidingUpPanelLayout slidingUpPanelLayout = (SlidingUpPanelLayout) findViewById(R.id.id_of_your_major_layout);

int slideablePanelHeight = 100;
int animationDuration = 800;

SlidingUpPanelResizeAnimation animation = new SlidingUpPanelResizeAnimation(slidingUpPanelLayout, slideablePanelHeight, animationDuration);
mSlidingLayout.startAnimation(animation);

关于android - Umano Android SlidingUpPanel - 动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22616605/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com