主なメソッドは次の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 件のコメント:
コメントを投稿