Неправильная ширина пикселей - PullRequest
6 голосов
/ 10 марта 2011
    DisplayMetrics displaymetrics = new DisplayMetrics();
    getWindowManager().getDefaultDisplay().getMetrics(displaymetrics);

    int w = displaymetrics.widthPixels;
    int h = displaymetrics.heightPixels;

Я использую Nexus One

W должен быть 480, а H должен быть 800 ...

Но для меня W - 320, а H - 533...

Что я делаю не так ???

        DisplayMetrics displayMetrics = new DisplayMetrics();
    this.getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);

    float CAMERA_WIDTH = displayMetrics.widthPixels
            * getResources().getDisplayMetrics().density;
    ;
    float CAMERA_HEIGHT = displayMetrics.heightPixels
            * getResources().getDisplayMetrics().density;
    ;

    Log.v("" + CAMERA_WIDTH + "---"
            + CAMERA_HEIGHT);

VERBOSE: 320.0 --- 533.0

Ответы [ 2 ]

7 голосов
/ 10 марта 2011

Требуется

    <uses-sdk android:minSdkVersion="3" android:targetSdkVersion="10" />
3 голосов
/ 10 марта 2011

Карл, нужно учитывать плотность экрана. Вам нужно будет умножить каждое из этих значений на ...

density = getResources().getDisplayMetrics().density;
int w = displaymetrics.widthPixels * density;
int h = displaymetrics.heightPixels * density;

Это даст вам фактический размер экрана

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...