2011-08-02 27 views
7

在我的清單中的應用程序,我指定的設置(整個應用程序)風格:getDrawingCache而NoTitleBar風格在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來製作一個截圖到你的main(首先在xml中)佈局?標題欄仍然存在問題嗎?

+0

這是一個很好的解決辦法,但切換標題欄的開/關很麻煩(詳細內容請參考[本帖子])(http://stackoverflow.com/questions/991764/hiding-title-in-a-fullscreen -模式))。用甚至不可能的碎片。儘管如此,感謝您的意見! – zilinx