1、TransitionDrawable是什么
一个TransitionDrawable是一个特殊的Drawable对象,可以实现两个drawable资源之间淡入淡出的效果。
2、TransitionDrawable的Xml文件定义
<transition>节点下的每个<item>代表一个drawable资源。只能有两个<item>。先前转换调用startTransition()。向后,调用 reverseTransition()。
下面是实例:
1、xml方式使用
transition.xml:<?xml version="1.0" encoding="utf-8"?><transition xmlns:android="http://schemas.android.com/apk/res/android" >    <item android:drawable="@drawable/image01"/>    <item android:drawable="@drawable/image02"/></transition>


在layout中使用:
<ImageView        android:id="@+id/imgView"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:src="@drawable/transition" />


在代码中控制:
ImageView imageView = (ImageView) findViewById(R.id.imgView); TransitionDrawable transitionDrawable = (TransitionDrawable) imageView.getDrawable(); transitionDrawable.startTransition(3000)






下面举个使用TransitionDrawable 的例子,创建一个Android工程,然后再这个工程的基础上修改,修改过程如下: 1、去掉layout/main.xml中的TextView,增加ImagView,如下:
<ImageViewandroid:layout_width=”wrap_content”android:layout_height=”wrap_content”android:tint=”#55ff0000″android:src=”@drawable/my_image”/>


2、创建一个XML文件,命名为expand_collapse.xml,内容如下:
<?xml version=”1.0″ encoding=”UTF-8″?><transition xmlns:android=”http://schemas.android.com/apk/res/android”><item android:drawable=”@drawable/image_expand”/><item android:drawable=”@drawable/image_collapse”/></transition>


需要3张png图片,存放到res\drawable目录下,3张图片分别命名为:my_image.png、image_expand.png、image_collapse.png。
3、修改Activity中的代码,内容如下:
LinearLayout mLinearLayout;protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);mLinearLayout = new LinearLayout(this);ImageView i = new ImageView(this);i.setAdjustViewBounds(true);i.setLayoutParams(new Gallery.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));mLinearLayout.addView(i);setContentView(mLinearLayout);Resources res = getResources();TransitionDrawable transition =(TransitionDrawable) res.getDrawable(R.drawable.expand_collapse);i.setImageDrawable(transition);transition.startTransition(10000);}


更多相关文章

  1. Android的OutOfMemory解决
  2. Android2.3编译
  3. JAVA代码执行shell命令 并解析
  4. Android(安卓)webkit 事件传递流程通道分析
  5. android 分支 详解
  6. Android(安卓)Room 增删改查 个人经验
  7. Android(安卓)7.0 Audio :通话中的音频调用接口
  8. Android(安卓)RecyclerView —— 适配器封装探索
  9. Android实用小技巧(持续更新)

随机推荐

  1. Android(安卓)属性系统: Android(安卓)Pro
  2. ListView中item点击的时候颜色变化
  3. Android(安卓)View — Gradient 渐变
  4. 转载]android 实现qq聊天对话界面效果
  5. Android开发学习笔记:圆角的Button
  6. Android(安卓)MQTT
  7. Android支持的媒体格式
  8. android界面开发小结——android笔记---
  9. Android(安卓)判断是否在通话中
  10. Android(安卓)处理屏幕解锁和设置锁屏密