2011-08-02 14 views
7

でアプリケーションの設定NoTitleBarスタイルは、私は(アプリケーション全体の)スタイルを指定しながら:getDrawingCache私のマニフェストにAndroidの

android:theme="@android:style/Theme.NoTitleBar" 

はその後、私のアプリで私が描くキャッシュを使用してアプリのスクリーンショットを作成するとします。

View activityView = getActivity().getWindow().getDecorView().findViewById(android.R.id.content); 
    activityView.setDrawingCacheEnabled(true); 
    Bitmap currentScreen = Bitmap.createBitmap(activityView.getDrawingCache()); 
    activityView.setDrawingCacheEnabled(false); 

問題は、スクリーンショットの上部にギャップ(タイトルバーのサイズ)があることです。タイトルバーがオンの場合、またはアプリがフルスクリーンモードの場合は、適切なスクリーンショットが表示されます。 buildDrawingCache(true)を使用しようとしましたが、違いはありません。 noTitleBarモードでどのように「本当の」スクリーンショットを得ることができますか?

答えて

0

あなたは

/** set title bar to ON */ 
activityView.setDrawingCacheEnabled(true); 
Bitmap currentScreen = Bitmap.createBitmap(activityView.getDrawingCache()); 
activityView.setDrawingCacheEnabled(false); 
/** set title bar to OFF */ 

編集することができた場合にオン/オフにあなたのタイトルバーを試してみてください。

私が試したことがないと私は意志が仕事に行くかどうかわからないんだけど、あなたがしようとしたがfindViewByIdを使ってメイン(最初にXMLで)レイアウトを参照してスクリーンショットを作成しますか?あなたはまだタイトルバーに問題がありますか?

+0

解決方法は良い考えですが、タイトルバーをオン/オフに切り替えるのは面倒です([このSO投稿]の詳細(http://stackoverflow.com/questions/991764/hiding-title-in-a-fullscreen -モード))。可能ではない断片で。それにもかかわらず、あなたの入力に感謝! – zilinx

関連する問題