主なメソッドは次の3つ
- startTransition(int durationMillis)
引数で指定された durationMillis [millisecond] かけて1つ目のレイヤーから2つ目のレイヤーにクロスフェード
- reverseTransition(int durationMillis)
引数で指定された durationMillis [millisecond] かけて現在レイヤーからもう一つのレイヤーにクロスフェード
- resetTransition()
1つ目のレイヤーを表示
次のコンストラクタで Drawable の配列を渡して生成することもできるし
・TransitionDrawable(Drawable[] layers)
<transition> タグを使って XML で定義することもできる。
例えばこんな感じ
<?xml version="1.0" encoding="utf-8"?>
<transition xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/trash" />
<item android:drawable="@drawable/trash2" />
</transition>
public class TransitionDrawableSampleActivity extends Activity {
TransitionDrawable mTransitionDrawable;
private static final int TRANSITION_DURATION = 1000;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
ImageView iv = (ImageView)findViewById(R.id.imageview);
mTransitionDrawable = (TransitionDrawable)iv.getDrawable();
mTransitionDrawable.setCrossFadeEnabled(false);
}
public void onResetClick(View v) {
mTransitionDrawable.resetTransition();
}
public void onTransitionClick(View v) {
mTransitionDrawable.startTransition(TRANSITION_DURATION);
}
public void onReverseClick(View v) {
mTransitionDrawable.reverseTransition(TRANSITION_DURATION);
}
}
0 件のコメント:
コメントを投稿