2013-06-19 95 views
0

我在活動中有一個ImageView,當用戶點擊它時,我爲視圖高度設置動畫,使其變爲全屏(其他視圖僅隱藏在屏幕底部以下) 。當ActionBar向上滑動動畫時,調整視圖大小

但是,一旦動畫完成,我隱藏操作欄(使用getSupportActionBar().hide()),因此我需要再次調整我的ImageView的大小,使其再次變爲全屏。
在父視圖中,我嘗試覆蓋onMeasureonLayout以在操作欄滑出屏幕時獲取大小,但它不起作用,我只在操作欄動畫結尾處獲取新大小+設置視圖和請求佈局的高度不會再佈局(所以我仍然可以在屏幕底部看到其他視圖)。

回答

3

在您的活動中致電setContentView()之前,致電requestWindowFeature(Window.FEATURE_ACTION_BAR_OVERLAY)使ActionBar覆蓋。然後,當您運行動畫時,ImageView的全屏大小將落後於ActionBar

您可能必須惹的,當隱藏ActionBar,如果你不希望ImageView它背後可以看出,在所有你隱藏之前做的時機,但可與ThreadAsyncTask比較容易做到。

+0

謝謝你的回答。問題是我不希望ActionBar處於疊加模式。 – qwertzguy

+0

或者是否可以在活動已啓動時以編程方式使ActionBar從非重疊模式切換到重疊模式? – qwertzguy

+0

不是我所知道的。您必須在調用'setContentView'之前設置該功能。 – Wenger

相關問題