hello,上篇我们已经分析6种Drawable的使用方法,本篇咱们就继续剩下的Drawable~,闲话莫多说,那就直接开始吧。
7、TransitionDrawable
很多时候我们在实现渐变的动画效果时,都会使用到animation,但实际上我们有既简单又完美的解决方法,没错,它就是TransitionDrawable啦,TransitionDrawable用于实现两个Drawable之间的淡入淡出的效果,它对应的是<transition>标签;其语法如下:
1 2 3 4 5 6 7 8 9 10 11 |
<?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四周的偏移量。
android:id
资源ID,drawable资源的唯一标识。使用”@+id/name”方式来给这个item定义一个新的资源ID。可以使用View.findViewById()或者 Activity.findViewById()等方式检索和修改这个item。
同样,我们来看一个实例:
1 2 3 4 5 |
<?xml version="1.0" encoding="utf-8"?> <transition xmlns:android="http://schemas.android.com/apk/res/android"> <item android:drawable="@drawable/image1"/> <item android:drawable="@drawable/image2" /> </transition> |
引用如下:
1 2 3 4 5 6 7 |
ImageView android:id="@+id/image" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerInParent="true" android:background="@drawable/transition_drawable" /> |
通过它的startTransition和reverseTransition方法实现淡入淡出效果,代码如下:
1 2 |
TransitionDrawable drawable= (TransitionDrawable) imageView.getBackground(); drawable.startTransition(4000); |
如果在imageView设置的src属性
1 2 3 4 5 6 7 |
ImageView android:id="@+id/image" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerInParent="true" android:src="@drawable/transition_drawable" /> |
代码控制为:
1 2 |
TransitionDrawable drawable= (TransitionDrawable) imageView.getDrawable(); drawable.startTransition(4000); |
最终效果:
最后我们给出代码实现的方式,比较简单,这里不过多分析:
1 ސ6种Drawable的使用方法,本篇咱们就继续剩下的Drawable~,闲话莫多说,那就直接开始吧。
7、TransitionDrawable很多时候我们在实现渐变的动画效果时,都会使用到animation,但实际上我们有既简单又完美的解决方法,没错,它就是TransitionDrawable啦,TransitionDrawable用于实现两个Drawable之间的淡入淡出的效果,它对应的是<transition>标签;其语法如下:
语法中的属性比较简单,其中 android:top,android:bottom,android:left,android:right分别表示Drawable四周的偏移量。 android:id 资源ID,drawable资源的唯一标识。使用”@+id/name”方式来给这个item定义一个新的资源ID。可以使用View.findViewById()或者 Activity.findViewById()等方式检索和修改这个item。
引用如下:
通过它的startTransition和reverseTransition方法实现淡入淡出效果,代码如下:
如果在imageView设置的src属性
代码控制为:
最终效果: 最后我们给出代码实现的方式,比较简单,这里不过多分析:
|