package com.example.xyz.colorchange;import android.graphics.drawable.Drawable;import android.graphics.drawable.TransitionDrawable;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.util.Log;import android.view.View;import android.widget.LinearLayout;public class MainActivity extends AppCompatActivity {    private Drawable oldBackground = null;    private Drawable bg_a;    private Drawable bg_b;    LinearLayout up;    int isWhat=1;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        up =(LinearLayout) findViewById(R.id.up);        up.setBackgroundResource(R.mipmap.a);        bg_a = getResources().getDrawable(R.mipmap.a);        bg_b =getResources().getDrawable(R.mipmap.b);               up.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View view) {                if(isWhat==1)                    aTob();                else if(isWhat==2)                    bToa();            }        });    }    private void aTob() {        up.setBackgroundResource(R.mipmap.a);        //渐变切换        TransitionDrawable td = new TransitionDrawable(new Drawable[]{bg_a, bg_b});        up.setBackgroundDrawable(td);        td.startTransition(1000);        isWhat=2;    }    private void bToa() {        up.setBackgroundResource(R.mipmap.b);        //渐变切换        TransitionDrawable td = new TransitionDrawable(new Drawable[]{bg_b, bg_a});        up.setBackgroundDrawable(td);        td.startTransition(1000);        isWhat=1;    }}



假如需要 从透明渐变切换到特定背景的话 可以这样写

td = new TransitionDrawable(new Drawable[]{getResources().getDrawable(android.R.color.transparent),bg_on});

反之,把transitionDrawable数组中元素反过来即可.


github :  https://github.com/Cedric-Xuan/colorChange

更多相关文章

  1. Android的Activity屏幕切换动画(一)-左右滑动切换
  2. Android背景渐变
  3. Android中的Shape美化
  4. 了解 uri, content provide,包括 data android:host,android:schem
  5. Android中shape定义控件的使用
  6. Android中shape的简单介绍
  7. Android的Activity屏幕切换动画-左右滑动切换
  8. 视图模式:Android(安卓)ViewPager & WP Pivot
  9. android:shape的使用

随机推荐

  1. Android 水波纹点击效果
  2. android:layout_weight属性
  3. Android中的进程生命周期
  4. android 默认签名 debug签名
  5. android的selector(背景选择器)
  6. Android与H5交互框架实践(下)
  7. Android利用DownloadManager实现文件下载
  8. 剖析Android 线性布局中的权重(layout_wei
  9. 你需要了解下Android(安卓)View的更新 re
  10. Android 第三方开源SwipeToDismiss:左滑/