Android Drawable Resources系列6:<transition>

来源:互联网 发布:算法及其描述 2 1 编辑:程序博客网 时间:2024/04/29 08:12

定义:可以控制两张图片之间的淡入淡出效果(不超过两张),通过startTransition()执行,reverseTransition()撤销.

用法:

<?xml version="1.0" encoding="utf-8"?><transitionxmlns: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:drawable图片资源android:top、android:right、android:bottom、android:left距离各边的距离

官方示例:

XML file saved at res/drawable/transition.xml:<?xml version="1.0" encoding="utf-8"?><transition xmlns:android="http://schemas.android.com/apk/res/android">    <item android:drawable="@drawable/on" />    <item android:drawable="@drawable/off" /></transition>This layout XML applies the drawable to a View:<ImageButton    android:id="@+id/button"    android:layout_height="wrap_content"    android:layout_width="wrap_content"    android:src="@drawable/transition" />And the following code performs a 500ms transition from the first item to the second:ImageButton button = (ImageButton) findViewById(R.id.button);TransitionDrawable drawable = (TransitionDrawable) button.getDrawable();drawable.startTransition(500);


效果:

xml文件:
<?xml version="1.0" encoding="utf-8"?><transition xmlns:android="http://schemas.android.com/apk/res/android">    <item android:drawable="@mipmap/reasource_drawable_mn"/>    <item android:drawable="@mipmap/reasource_drawable_mn2"/></transition>

Activity中:
final TransitionDrawable drawable = (TransitionDrawable) img_transition.getDrawable();        btn_startTransition.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                drawable.startTransition(2000);            }        });        btn_reverseTransition.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                drawable.reverseTransition(2000);            }        });

效果:





0 0