2016-08-10 4 views
0

私はこのように定義されての活動を持っている:タイトルバーが完全に隠されている場合のコールバックはありますか?私のアプリで

<activity android:name=".DocViewActivity" 
       android:theme="@android:style/Theme.Light.NoTitleBar.Fullscreen"> 
    </activity> 

何この活動を開始するときに、私が見るものは、最初のUIは、タイトルバーの隠れ、その後、(速いが、アニメーション)が表示されています起こる、(また速く、しかし動く)。

私がやりたいことは、これをすべて完了してから先に進むことです。私はOnGlobalLayoutListenerを使ってみましたが、タイトルバーが消える前に呼び出されていると思います(確かめるのは難しいですが)。

私の質問は、レイアウトが完了したときにどうすればわかるのですか?タイトルバーが消えてしまっていますか?

答えて

1

タイトルバーでOnLayoutChangeListenerを試すことができますが、これを設定するとすべての非表示のアニメーションが完了すると思います。このタスクの実際の目的は何ですか?

+0

ビューの画面上のサイズと位置に基づいて計算を行う必要があります。私が早すぎると、タイトルバーの高さで出ます。 –

+0

@ FredRoss-Perry 画面の実際のサイズを取得するには、 'DisplayMetrics'を使用します。 ' DisplayMetrics displayMetrics = new DisplayMetrics(); getWindowManager()。getDefaultDisplay()。getMetrics(displayMetrics); displayMetrics.widthPixels; displayMetrics.heightPixels;画面の確認方法上の位置を取得するために ' と: ' View.getLocationOnScreenは() ' –

+0

私の活動を膨らませることによって自分自身をで埋めカスタムビューを、含まれています。これは正常に動作します。 View.getLocationOnScreen()を使用すると、ビューは最初に画面の上部に表示され(y = 0)、次にプッシュダウンされ(y = 48)、次に上に移動して(y = 0)、約650ms。興味深いのは、以前の活動*がタイトルバーを表示していることです。タイトルバーを表示しないように設定すると、この奇妙なバウンス効果は得られません。 –

関連する問題