アクティビティ内の他のイベントのコンテキストに基づいて 、ビュー(いくつかのボタンが入った線形ビュー - R.id.playerControl
)をスライドインおよびスライドアウトさせようとしています。
この目的のためにselectMediaItem
、ユーザーがアイテムを選択または選択解除したときにビューを表示または非表示にするメソッドを用意しました。
私はアンドロイドのアニメーションが初めてで、2つの理由でこれを機能させるのに問題があります:
ビューはアニメーション時間外に画面に残るため、スライドアウトが完了するとジャンプして戻り、スライドインが要求されるとジャンプしてスライドインします。
ビューが消えると、画面に恒久的な黒いスペースができます。ビューが表示されているときはスペースを埋め、表示されていないときはビューを表示したいと思います
GONE
。この目的のために、レイアウトもアニメーションに合わせて変更して、他のものを押しのけているように見せたいと思います。
私のコード:
protected void selectMediaItem( ItemHandle item ) {
if (item != null) {
if (toPlay == null) {
View playerControl = findViewById(R.id.playerControl);
Animation slideInAdmination = AnimationUtils.loadAnimation(this, R.anim.slide_in);
playerControl.startAnimation(slideInAdmination);
}
}
else {
if (toPlay != null) {
View playerControl = findViewById(R.id.playerControl);
Animation slideInAdmination = AnimationUtils.loadAnimation(this, R.anim.slide_out);
playerControl.startAnimation(slideInAdmination);
}
}
toPlay = item;
}
slide_in.xml
<translate
android:duration="1000"
android:fromYDelta="100%p"
android:toYDelta="0" />
</set>
ビューを所定の位置にスライドさせて、再びスライドさせる簡単な方法はありますか?