Android(安卓)图片渐变切换效果
16lz
2021-12-04
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
更多相关文章
- Android的Activity屏幕切换动画(一)-左右滑动切换
- Android背景渐变
- Android中的Shape美化
- 了解 uri, content provide,包括 data android:host,android:schem
- Android中shape定义控件的使用
- Android中shape的简单介绍
- Android的Activity屏幕切换动画-左右滑动切换
- 视图模式:Android(安卓)ViewPager & WP Pivot
- android:shape的使用