0

アクティビティ内に ImageView があり、ユーザーがそれをクリックすると、ビューの高さがフルスクリーンになるようにアニメーション化します (他のビューは画面の下に隠れるだけです)。

ただし、アニメーションが終了したら、( を使用してgetSupportActionBar().hide()) アクションバーを非表示にします。そのため、ImageView のサイズを少し大きく変更して、再び全画面表示にする必要があります。
親ビューで、両方onMeasureをオーバーライドonLayoutして、アクションバーが画面からスライドしている間に利用可能なサイズを取得しようとしましたが、機能しません。ビューの高さを設定すると、アクションバーアニメーションの最後に新しいサイズのみを取得します+レイアウトをリクエストすると、再度レイアウトされません(したがって、画面の下部に他のビューが表示されます)。

4

1 に答える 1

3

アクティビティを呼び出す前に呼び出しActionBarてオーバーレイを作成します。その後、アニメーションを実行すると、 の全画面サイズが の後ろになります。requestWindowFeature(Window.FEATURE_ACTION_BAR_OVERLAY)setContentView()ImageViewActionBar

ActionBarを非表示にする前に をその背後にまったく見られたくない場合は、 を非表示にするタイミングをいじる必要があるかもしれませんが、それはまたはImageViewで比較的簡単に行うことができます。ThreadAsyncTask

于 2013-06-19T16:29:30.857 に答える