7

そのため、アクティビティで次のメソッドを記述しました。

private void setDisplayMetrics(){

    DisplayMetrics metrics = this.getResources().getDisplayMetrics();
    int dh       = metrics.heightPixels;
    int dw       = metrics.widthPixels;

    if(dw < dh){
        deviceWidth  = dw;
        deviceHeight = dh;
    }else{
        deviceWidth  = dh;
        deviceHeight = dw;
    }

    System.err.println("--------------> dh : "+deviceHeight+" | dw "+deviceWidth);

}

また、画面の幅と高さの合計を高い精度と信頼性で取得できるという意味で、うまく機能します (これは私が要求したことです)。

これが問題です。古い Android デバイスでは、画面のサイズはアプリケーションが使用できるサイズと同じであり、上記のスクリプトはアプリ内の要素のサイズを設定するのに役立ちます。しかし、Android ICS では、画面の下部にこのグラフィック ボタン バーがあり、戦略全体が台無しになります。

ここに画像の説明を入力

私が本当に欲しいのは、縦向きビューと横向きビューで利用可能なアプリのサイズを 1 つの方法で同時に取得できる機能です。そして、上の写真のバーの存在に関係なく、これらの寸法が正確であるようにしてください.

これを達成する方法を知っている人はいますか?

4

2 に答える 2

0
Rect rectgle= new Rect();
Window window= getWindow();
window.getDecorView().getWindowVisibleDisplayFrame(rectgle);
int StatusBarHeight= rectgle.top;
int contentViewTop= 
    window.findViewById(Window.ID_ANDROID_CONTENT).getTop();
int TitleBarHeight= contentViewTop - StatusBarHeight;

   Log.i("*** Jorgesys :: ", "StatusBar Height= " + StatusBarHeight + " , TitleBar Height = " + TitleBarHeight); 
于 2012-10-30T04:42:25.613 に答える