2011-07-31 62 views
0

當我得到屏幕尺寸爲我的Android應用程序,它返回一個變量,它在任何情況下過大的屏幕來顯示。我使用下面的代碼來獲取屏幕大小。獲取屏幕高度返回一個更大的屏幕比物理屏幕可以顯示

final int windowHeight = getResources().getDisplayMetrics().heightPixels; 
final int windowWidth = getResources().getDisplayMetrics().widthPixels; 

有什麼辦法可以彌補嗎?或甚至解決我的問題?

此外,有沒有辦法把電池/時間條關閉在應用程序?我認爲這可能是我遇到麻煩的原因,但我實際上並不知道。這就是我問的原因。

回答

1

要禁用電池/時間吧,我在AndroidManifest.xml文件中使用此,爲<application>標籤:

<application 
    android:icon="@drawable/icon" 
    android:label="@string/app_name" 
    android:theme="@android:style/Theme.NoTitleBar" 
    ... 
    > 


而且,爲了得到屏幕的尺寸,這是我在我的Activity

Display display = getWindowManager().getDefaultDisplay(); 
    int screenWidth = display.getWidth(); 
    int screenHeight = display.getHeight(); 
+0

我的觀點是,所以我不能使用XML編碼的東西,我會檢查developer.android雖然 – DingleNutZ

+0

即使您的視圖編碼*(使用XML完成)* ,你的清單中仍然有''標籤,不是嗎? *(但我不得不承認的是,如果你只想要一個觀點是全屏,而不是整個應用程序,...還是有可能會得到代碼相同的結果的某種方式)*在 –

+0

這就是清單,我錯過了。謝謝你堆! – DingleNutZ

0

請注意,您可能需要密度點而不是像素。 如果您以像素爲單位獲得尺寸,請按照如何轉換它們。但你可以在DP的尺寸也

 /* 
     * Get dps from pixel. 
     */ 
     float scale = getResources().getDisplayMetrics().density; 

     public static float dpFromPixels(int pixels) { 
      float dp = (float) (pixels/scale + 0.5f); 
      return dp; 
     } 
+0

不幸的是沒有在我的應用程序尋找即時消息。但謝謝你的回答,這將在未來發揮作用 – DingleNutZ