ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
#### 6.2.6 TransitionDrawable TransitionDrawable对应于`<transition>`标签,它用于实现两个Drawable之间的淡入淡出效果,它的语法如下所示。 <? xml version="1.0" encoding="utf-8"? > <transition xmlns:android="http://schemas.android.com/apk/res/android" > <item android:drawable="@[package:]drawable/drawable_resource" android:id="@[+][package:]id/resource_name" android:top="dimension" android:right="dimension" android:bottom="dimension" android:left="dimension" /> </transition> 上面语法中的属性前面已经都介绍过了,其中android:top、android:bottom、android:left和android:right仍然表示的是Drawable四周的偏移量,这里就不多介绍了。下面给出一个实际的例子。 首先定义TransitionDrawable,如下所示。 // res/drawable/transition_drawable.xml <? xml version="1.0" encoding="utf-8"? > <transition xmlns:android="http://schemas.android.com/apk/res/android"> <item android:drawable="@drawable/drawable1" /> <item android:drawable="@drawable/drawable2" /> </transition> 接着将上面的TransitionDrawable设置为View的背景,如下所示。当然也可以在ImageView中直接作为Drawable来使用。 <TextView android:id="@+id/button" android:layout_height="wrap_content" android:layout_width="wrap_content" android:background="@drawable/transition_drawable" /> 最后,通过它的startTransition和reverseTransition方法来实现淡入淡出的效果以及它的逆过程,如下所示。 TextView textView = (TextView) findViewById(R.id.test_transition); TransitionDrawable drawable = (TransitionDrawable) textView.getBackground(); drawable.startTransition(1000);