2014-03-04 48 views
0

我有一個應用程序,它運行一項服務以每隔一秒顯示圖像(基本上它應該覆蓋屏幕上每隔一秒鐘的所有內容)。如何在Nexus 7上使用WindowManager製作全屏圖像

這是Service類的onCreate()中的代碼。所以,我在android:background="@drawable/image"

params = new WindowManager.LayoutParams(
       WindowManager.LayoutParams.FLAG_FULLSCREEN, 
       WindowManager.LayoutParams.FLAG_FULLSCREEN, 
        WindowManager.LayoutParams.TYPE_SYSTEM_OVERLAY, 
        WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN, 
        PixelFormat.TRANSLUCENT); 
     // params.flags= WindowManager.LayoutParams.FLAG_DIM_BEHIND; 

     LayoutInflater inflater = (LayoutInflater) getSystemService(LAYOUT_INFLATER_SERVICE); 

      mTopView = (ViewGroup) inflater.inflate(
        R.layout.activity_invisible, null);   
      windowManager.addView(mTopView, params); 

把圖像通過usuing它採用了圖像的另一項活動有它連我試圖直接添加圖片到WindowManager,但仍然圖像不是全屏幕(通過全屏幕我的意思它會覆蓋屏幕上的所有內容,甚至是標題欄) 我想也許在活動中使用圖像作爲背景,然後將該活動的清單設置爲android:theme="@android:style/Theme.Black.NoTitleBar"將有所幫助。但它沒有。

你有什麼想法,我該如何做到這一點? (我也嘗試使用調光 - 正如您可以在註釋代碼中看到的標誌一樣 - 使整個屏幕變黑,而不是添加圖像來隱藏所有內容,但調光時有一些時間問題,並且不能正常工作在android系統)

我很欣賞一些幫助 更新:它的工作原理我的手機(三星Galaxy)上卻沒有關於我的Nexus 7

這裏是我的Nexus 7設備的屏幕截圖(白圖像不被覆蓋整屏如你所見): enter image description here

回答

1

嘗試這樣的..

你可以用兩種方式隱藏狀態欄:

1)定義下面一行在您的活動onCreate()方法。

requestWindowFeature(Window.FEATURE_NO_TITLE); 

2)定義主題,在應用層不顯示通過了應用程序,如下狀態欄:

<application android:label="@string/app_name" 
    android:theme="@android:style/Theme.NoTitleBar.Fullscreen"> 
+0

如果你看過我的問題我寫的,我用這個方法並沒有幫助! –