2012-01-27 9 views
2

"メインバー"のレイアウトがあり、 "履歴バー"が表示されているとします。Androidのアニメーションではレイアウトは移動しますが、ボタンは移動しません

if (HistoryBar == false) 
        { 
         HistoryBar = true; 
         TranslateAnimation MainScreenPullUp = new TranslateAnimation(0, 0, 0, -200); 
         MainScreenPullUp.setDuration(350); 
         MainScreenPullUp.setFillAfter(true); 
         LinLayMain.startAnimation(MainScreenPullUp); 
        } 

今私はそれをそうしています。しかし、問題は、メイン画面レイアウト自体が上に移動する間、すべてのボタン場所が同じに保たれる、すなわちボタン画像が移動するが、クリックスポットは所定の位置に留まることである。任意のアイデアを修正する方法は?

アニメーションが停止すると、メイン画面レイアウトをTanslateYにするsetFillAfter(true)ではなく、animationListenerを使用しようとしましたが、レイアウトがジャンプしてちらつきます。他の方法はありますか?

編集:

ありがとう、Vineet。

はでの作業、それを手に入れた:

ObjectAnimator pullUp = ObjectAnimator.ofFloat(LinLayMain, "translationY", 0f, -200f); 
         pullUp.setDuration(350); 
         pullUp.start(); 

答えて

2

私は同じ問題に直面しました。 3.0からアンドロイドはproperty animationです。 3.0より下では、ビューのメソッドoffsetLeftAndRight (int offset)offsetTopAndBottom (int offset)の助けを借りてこの問題に取り組んだ。詳細はlinkを参照してください。 Property animationについては

このlinkを参照してください。

+0

ありがとうございます!私は3 +を使用しているので、プロパティアニメーションが助けてくれると思います! –

+0

もし私が正しいのであれば、TranslateYプロパティにValueAnimatorを使用する必要がありますか? –

関連する問題