Android编程实现图片背景渐变切换与图层叠加效果
本文实例讲述了Android编程实现图片背景渐变切换与图层叠加效果。分享给大家供大家参考,具体如下:
偃师ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为创新互联的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:18982081108(备注:SSL证书合作)期待与您的合作!
本例要实现的目的:
1.图片背景渐变的切换,例如渐变的从红色切换成绿色。
2.代码中进行图层叠加,即把多个Drawable叠加在一起显示在一个组件之上。
效果图:

代码很简单:
(1)布局文件:
(2)Activity代码:
package com.sinatj.colorgradientanim;
import android.graphics.Color;
import android.graphics.drawable.ColorDrawable;
import android.graphics.drawable.Drawable;
import android.graphics.drawable.LayerDrawable;
import android.graphics.drawable.TransitionDrawable;
import android.os.Build;
import android.os.Handler;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.ImageView;
public class MainActivity extends ActionBarActivity {
private ImageView imageView;
private Drawable oldBackground = null;
private Drawable bgDrawable;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
imageView = (ImageView) findViewById(R.id.color_iv);
bgDrawable = getResources().getDrawable(R.drawable.image_bg_1);
//初始颜色
changeColor(Color.parseColor("#6696AA39"));
}
private void changeColor(int newColor) {
Drawable colorDrawable = new ColorDrawable(newColor);
//图层叠加
LayerDrawable ld = new LayerDrawable(new Drawable[]{bgDrawable, colorDrawable});
if (oldBackground == null) {
imageView.setBackgroundDrawable(ld);
} else {
//渐变切换
TransitionDrawable td = new TransitionDrawable(new Drawable[]{oldBackground, ld});
imageView.setBackgroundDrawable(td);
td.startTransition(300);
}
oldBackground = ld;
}
public void onColorClicked(View v) {
int color = Color.parseColor(v.getTag().toString());
changeColor(color);
}
}
更多关于Android相关内容感兴趣的读者可查看本站专题:《Android图形与图像处理技巧总结》、《Android开发入门与进阶教程》、《Android调试技巧与常见问题解决方法汇总》、《Android基本组件用法总结》、《Android视图View技巧总结》、《Android布局layout技巧总结》及《Android控件用法总结》
希望本文所述对大家Android程序设计有所帮助。
当前题目:Android编程实现图片背景渐变切换与图层叠加效果
分享网址:http://www.jxjierui.cn/article/ihhjis.html


咨询
建站咨询
