Android TransitionDrawable ImageView过度效果使用实例

来源:互联网 发布:软件上市公司排名 编辑:程序博客网 时间:2024/04/28 08:20


实现两张图片渐隐渐现的过渡效果Transition Drawable实现两张图片之间动态过度效果的方式。

运行如下所示:第一张为初始界面,第二张为过度中界面,第三张为过渡结束

       

新建一个TransitionDrawable的Android工程。
目录结构:



主界面activity_main.xml代码如下:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="match_parent">    <Button         android:layout_width="match_parent"        android:layout_height="wrap_content"        android:text="@string/button_text"        android:layout_centerInParent="true"        android:onClick="change"        android:background="@drawable/transition"        android:layout_marginBottom="20dp"/></RelativeLayout>

主界面主要是一个应用了TransitionDrawable的按钮
transition是在drawalbe文件夹下,其代码如下所示:

<?xml version="1.0" encoding="utf-8"?><transition xmlns:android="http://schemas.android.com/apk/res/android"><item android:drawable="@color/red"></item><item android:drawable="@color/green"></item></transition>

strings.xml代码如下:

 <string name="app_name">TransitionDrawable</string>    <string name="hello_world">Hello world!</string>    <string name="action_settings">Settings</string>    <string name="button_text">过渡效果</string>
colors.xml代码如下:

<?xml version="1.0" encoding="utf-8"?><resources>  <color name="red">#ff0000</color>  <color name="green">#00ff00</color>  </resources>

MainActivity.java代码如下

package com.shen.transitiondrawable;import android.app.Activity;import android.graphics.drawable.TransitionDrawable;import android.os.Bundle;import android.view.Menu;import android.view.MenuItem;import android.view.View;import android.widget.Button;public class MainActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {// Inflate the menu; this adds items to the action bar if it is present.getMenuInflater().inflate(R.menu.main, menu);return true;}@Overridepublic boolean onOptionsItemSelected(MenuItem item) {// Handle action bar item clicks here. The action bar will// automatically handle clicks on the Home/Up button, so long// as you specify a parent activity in AndroidManifest.xml.int id = item.getItemId();if (id == R.id.action_settings) {return true;}return super.onOptionsItemSelected(item);}public void change(View v){TransitionDrawable drawable = (TransitionDrawable)((Button)v).getBackground();drawable.startTransition(2000);}}

源码下载

扩展阅读:

http://www.tuicool.com/articles/uiaYBrU

http://adk.tumblr.com/post/13069401302/outofmemoryerror-imageview-and-transitiondrawable

0 0
原创粉丝点击