Android Animation之transition
Transition是一种简单的动画显示。这种动画可以平滑的从一种图片变换为另一张图片,不是那种突兀的切换。Transition可以简单的在两帧之间切换,常用于选择与被选择之间切换,或者渐进的今日新的场景。XML文件包含切换的帧图片。transition标签作为容器,item为切换用的帧,android:drawable为图片id。TransitionDrawable获取tra
·
Transition是一种简单的动画显示。这种动画可以平滑的从一种图片变换为另一张图片,不是那种突兀的切换。
Transition可以简单的在两帧之间切换,常用于选择与被选择之间切换,或者渐进的今日新的场景。
XML文件包含切换的帧图片。transition标签作为容器,item为切换用的帧,android:drawable为图片id。
TransitionDrawable获取transition中的资源,之后调用startTransition进行切换,该函数将第一帧切换到第二帧。reverseTransition是另一种切换方式,将反复切换两帧,会根据上一次切换的第二帧作为下一次切换的第一帧。
XML文件代码:
<?xml version="1.0" encoding="utf-8"?>
<transition
xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/left" />
<item android:drawable="@drawable/right" />
</transition>
Activity代码:
package com.transation.arrow;
import android.os.Bundle;
import android.app.Activity;
import android.graphics.drawable.TransitionDrawable;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ImageView;
public class ArrowActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
View mainscreen = findViewById(R.id.mainscreen);
mainscreen.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
ImageView scene = (ImageView) findViewById(R.id.arrow);
// TransitionDrawable sceneDrawable = (TransitionDrawable) getResources()
// .getDrawable(R.anim.arrow);
// scene.setImageDrawable(sceneDrawable);
TransitionDrawable sceneDrawable = (TransitionDrawable) scene.getDrawable();
// sceneDrawable.startTransition(3000);
sceneDrawable.reverseTransition(3000);
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.arrow, menu);
return true;
}
}
更多推荐
已为社区贡献1条内容
所有评论(0)