如何通过android实现alpha渐变动画效果?
如何通过android实现alpha渐变动画效果?
这里我来教大家实现安卓渐变动画的两种方式:
首先布局里面写到:
<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); }在点击方法里面写了两个方法,分别是两种实现方式。有什么写的不到位的还望博友多多指教。
完毕!