gpt4 book ai didi

android - 在最初不可见时淡入

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

按照此处的指南操作:https://stackoverflow.com/a/5090470/512998我已经成功地为我的 imageView 实现淡入淡出动画。然而,imageView 最初是可见的,当动画开始时它只是闪烁变为不可见(alpha = 0.0)并慢慢淡入回到 alpha = 1.0。这里的问题是,如何将 imageView 设置为初始不可见?

我试图将 xml 布局中的可见性更改为 INVISIBLEGONE,但动画不起作用。它将在最终结果中显示为空白 imageView。

我也曾尝试在 xml 布局中更改 imageView 的 alpha 级别,但事实证明动画很奇怪,因为它应用于我配置的 alpha 级别之上。例如,如果我将 alpha 级别设置为 0.3,则动画将在 0.0 到 0.3 之间淡出。如果我将它设置为 0.0,它看起来就像没有动画,最后也没有显示图像。

这是我的代码 fragment :

anim/fade_in_view.xml

<?xml version="1.0" encoding="UTF-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<alpha
android:fromAlpha="0.0"
android:toAlpha="1.0"
android:interpolator="@android:anim/accelerate_interpolator"
android:duration="1000"
android:repeatCount="0" />
</set>

layout/activity_splash.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#000000" >

<ImageView
android:id="@+id/imgCharacter"
android:layout_width="160dp"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:layout_below="@+id/imgLogo"
android:src="@drawable/darth_vader" />

</RelativeLayout>

src/MainActivity.java

protected void onCreate(Bundle savedInstanceState)
{
...
imageView = (ImageView) findViewById(R.id.imgCharacter);

new Handler().postDelayed(new Runnable()
{
@Override
public void run()
{
Animation fadeInAnimation = AnimationUtils.loadAnimation(SplashScreen.this, R.anim.fade_in_view);
imageView.startAnimation(fadeInAnimation);
}
}, 1000);
}

最佳答案

替换你的新处理程序方法

new Handler().postDelayed(new Runnable() {
@Override
public void run() {
Animation fadeInAnimation = AnimationUtils.loadAnimation(
MainActivity.this, R.anim.fade_in_view);
imageView.startAnimation(fadeInAnimation);
fadeInAnimation.setAnimationListener(new AnimationListener() {

@Override
public void onAnimationStart(Animation animation) {
imageView.setVisibility(View.VISIBLE);
}

@Override
public void onAnimationRepeat(Animation animation) {
// TODO Auto-generated method stub

}

@Override
public void onAnimationEnd(Animation animation) {
// TODO Auto-generated method stub

}
});
}

}, 1000);

并在 activity_splash.xml 中

set imageview visibility to invisible

关于android - 在最初不可见时淡入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29454928/

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