gpt4 book ai didi

android - 在滑出式菜单中滑动时淡化布局

转载 作者:行者123 更新时间:2023-11-29 02:00:09 26 4
gpt4 key购买 nike

我有一个自定义的滑出式菜单实现(不使用任何库),我在其中向右滑动我的布局并在左侧显示菜单(就像 facebook、google+ 应用程序那样)。显示菜单后,我通过提供一些 alpha 值来淡化正确的布局,如下面的代码所示:

    <FrameLayout
android:id="@+id/fl_mask"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:alpha="0.7"
android:background="@color/black">
</FrameLayout>

但这一切都发生在我的菜单显示时。我想要的是,当布局向右滑动时,我想让它变暗。布局离左边缘越远,布局越暗。此外,我将以下代码用于布局动画,使我的布局向右滑动。

public Animation SlidingAnimation(int animateDuration, boolean slideLeftToright, final boolean executeOnAnimEndCode) {
Animation animation = null;
AnimationSet set = new AnimationSet(true);

if (slideLeftToright) {
animation = new TranslateAnimation(Animation.RELATIVE_TO_SELF, -1.0f, Animation.RELATIVE_TO_SELF, 0.0f, Animation.RELATIVE_TO_SELF, 0.0f,
Animation.RELATIVE_TO_SELF, 0.0f);
} else {
animation = new TranslateAnimation(Animation.RELATIVE_TO_SELF, 0.0f, Animation.RELATIVE_TO_SELF, -1.0f, Animation.RELATIVE_TO_SELF, 0.0f,
Animation.RELATIVE_TO_SELF, 0.0f);
}

animation.setDuration(animateDuration);

animation.setAnimationListener(new AnimationListener() {

@Override
public void onAnimationStart(Animation animation) {
}

@Override
public void onAnimationRepeat(Animation animation) {
}

@Override
public void onAnimationEnd(Animation animation) {
if (executeOnAnimEndCode) {
... // Some piece of code
}
}
});
set.addAnimation(animation);

return animation;
}

如何在布局向右滑动时淡化/加深布局?

最佳答案

在你的

public void onAnimationEnd(Animation animation) 
{
if (executeOnAnimEndCode)
{
AlphaAnimation alphaAnimation = new AlphaAnimation(1.0f, 0.5f);

alphaAnimation.setFillAfter(true);

someLayout.startAnimation(alphaAnimation);
}
}
});

或者您也可以将动画声明为 xml 然后使用它....

关于android - 在滑出式菜单中滑动时淡化布局,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13087299/

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