如何在Android Activity屏幕上进行图像淡入淡出?

我想在Android Activity屏幕上显示一张照片,从淡淡的单调棕褐色逐渐淡入到最终的全彩色。 我知道如何在Graphic对象的Java Image / BufferedImage上做到这一点,但不幸的是我对Android编程环境一无所知。 谁能帮忙?

嗨浩你可以做到这一点淡入:

ImageView myImageView= (ImageView)findViewById(R.id.myImageView); Animation myFadeInAnimation = AnimationUtils.loadAnimation(this, R.anim.fadein); myImageView.startAnimation(myFadeInAnimation); //Set animation to your ImageView 

并在您的res \ anim \文件夹中的animation文件fadein.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="3000"/> </set> 

但是对于从棕褐色到全色逐渐淡入,您必须使用TransitionDrawable

我想要一个图像淡入淡出(然后消失),一旦从完全不透明点击0。这是我是如何做到的:

 Animation a = new AlphaAnimation(1.00f, 0.00f); a.setDuration(1000); a.setAnimationListener(new AnimationListener() { public void onAnimationStart(Animation animation) { // TODO Auto-generated method stub } public void onAnimationRepeat(Animation animation) { // TODO Auto-generated method stub } public void onAnimationEnd(Animation animation) { yourView.setVisibility(View.GONE); } }); yourView.startAnimation(a); 

一种方法是使用animation集。 看这里;

http://developer.android.com/guide/topics/resources/available-resources.html#animation

我做了一些示例代码(在这个例子中无限循环淡出);

在animation的.xml文件中;

 <alpha android:fromAlpha="1.0" android:toAlpha="0.3" android:duration="7000" android:repeatMode="restart" android:repeatCount="infinite"/> 

在java文件中;

  ImageView introanim = (ImageView) findViewById(R.id.introanim); Animation StoryAnimation = AnimationUtils.loadAnimation(this, R.anim.intro_anim); introanim.startAnimation(StoryAnimation); 

你可以从你的棕褐色的背景/图片淡入任何你想要的…