2011-07-31 17 views
0

私のAndroidアプリの画面サイズを取得すると、いずれの場合も画面を表示するには大きすぎる変数が返されます。私は画面サイズを取得するために、次のコードを使用します。画面の高さを取得すると、物理的な画面よりも大きな画面が返されます

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

補償方法はありますか?それとも私の問題を解決する?

また、アプリでバッテリー/タイムバーをオフにする方法はありますか?それが私が問題を抱えている理由かもしれないと思うが、私は実際には知りません。それが私が求めている理由です。

答えて

1

バッテリー/タイムバーを無効にするには、私は<application>タグのため、私のAndroidManifest.xmlファイルでこれを使用します。

<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を使用して行われる)されている場合でも – DingleNutZ

+0

かかわらdeveloper.androidチェックするDPでの寸法を得ることができますまだマニフェストに ''タグがありますか? *(ただし、1つのビューをフルスクリーンにするだけで、アプリケーション全体ではなく、同じ結果を得る方法があるかもしれません)* –

+0

thats in theマニフェスト、私はそれを逃した。お元気ですか! – DingleNutZ

0

ピクセルではなく濃度ポイントが必要な場合があります。 寸法をピクセルで取得した場合は、ここでどのように変換しますか?しかし、あなたは*あまりにも

私の見解は、私は、XMLのものを使用傾けるようにコーディングされている
 /* 
     * 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

不幸にもdpは私のアプリで探しているものではありません。しかし、あなたのためにお返事、これは将来的に便利になるでしょう – DingleNutZ

関連する問題