android实现alpha渐变动画效果

时间:2022-02-05 23:20:51

这里我来教大家实现安卓渐变动画的两种方式:

首先布局里面写到:

<Button
android:id="@+id/btn_alpha"
android:layout_centerHorizontal="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="渐变动画" />

<ImageView
android:id="@+id/imageview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:src="@drawable/day_6"/>
这里面包括一个按钮,用来点击的,一个图片,用来观察效果的。

第一种:定义anim文件

在res文件夹下面定义一个anim文加件,里面创建xml文件。代码如下:

<alpha xmlns:android="http://schemas.android.com/apk/res/android"
android:fromAlpha="1.0"
android:toAlpha="0.0"
android:interpolator="@android:anim/linear_interpolator"
android:fillAfter="true"
android:duration="3000"
android:startOffset="2000"
android:repeatCount="2">
然后就是在avtivity里面调用了。

第二种:在activity里面动态写入动画。代码如下:

public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

findViewById(R.id.btn_alpha).setOnClickListener(this);
mImageView = (ImageView) findViewById(R.id.imageview);
}

public void onClick(View v) {
//startAlphaAnimationJavaCode();
staryAlphaAnimationXml();
}

private void staryAlphaAnimationXml() {
//android:interpolator="@android:anim/linear_interpolator" 动画加速 减速 加速再减速
//android:fillAfter="true"动画执行后的状态
//android:duration="3000"动画执行3秒
//android:startOffset="2000"动画2秒后执行
//android:repeatCount="2"动画重复执行2遍
Animation alphaAnim = AnimationUtils.loadAnimation(this, R.anim.alpha_anim);
mImageView.startAnimation(alphaAnim);
}

private void startAlphaAnimationJavaCode() {
//渐变动画 从显示(1.0)到隐藏(0.0)
AlphaAnimation alphaAnim = new AlphaAnimation(1.0f, 0.0f);
//执行三秒
alphaAnim.setDuration(3000);
mImageView.startAnimation(alphaAnim);
}
在点击方法里面写了两个方法,分别是两种实现方式。有什么写的不到位的还望博友多多指教。
android实现alpha渐变动画效果
                                                      完毕!