6

簡単そうなことをやろうとしています。画面の下から上にスライドして設定(オーバーレイ用)を調整できるメニューを備えたマップビューが必要です。ただし、TranslateAnimationを使用してLinearLayout(メニューを保持する)のy位置に影響を与えると、LinearLayoutのボタンは移動しますが、「ヒット領域」はアニメーション前と同じ位置に留まります。

    TranslateAnimation slide = new TranslateAnimation(0,0,0,0);
 slide.setDuration(300);
 slide.setFillAfter(true);
 pullupMenu.startAnimation(slide);
 mapContainer.startAnimation(slide);

ビューのmarginTop値のトゥイーンも調べましたが、それがどのように行われるかを判断することさえできませんでした。

これらの方向のいずれかに関する助けをいただければ幸いです。

4

1 に答える 1

7

一般的なアニメーションは、ウィジェットのピクセルをアニメーション化しています。あなたが書いたことに基づく私の疑いは、ウィジェット自体ではなく、ピクセルsetFillAfter()が宛先の場所にとどまるように調整するだけであるということです。

アニメーションで実際にウィジェットを動かしたい場合は、次のことを行う必要があります。

  • リスナーを登録して、アニメーションがいつ終了するかを確認し、
  • その時点で、ウィジェットが実際に新しい場所に存在するようにレイアウトルールを変更するように調整します

この手法を採用したスライドペインをここで確認できます。

于 2010-02-03T21:40:18.700 に答える