Проблема с разрешением планшета - PullRequest
1 голос
/ 10 февраля 2012

У меня есть планшет Motorola Xoom с 1280*800 У меня есть одно изображение в моей папке для рисования в моем проекте, и когда я проверил размер этого изображения, оно показывает 1280*755, но когда я использовал это изображение в своем проекте.

И отладка, чтобы узнать его размер, показывая 853*503 и, очевидно, он не поместится в планшет. Я прикрепил сюда и эту картинку.

Я получаю ширину и высоту, используя следующий код.

BitmapDrawable bd=(BitmapDrawable)this.getResources().getDrawable(R.drawable.fish_normal);
int height=bd.getBitmap().getHeight();
int width=bd.getBitmap().getWidth();

Ответы [ 2 ]

2 голосов
/ 10 февраля 2012

Я думаю, вы используете изображения в папке hdpi.

// для hdpi

853 * 240 / 160 =1279.5 
503 * 240 / 160 = 754.5

// 750 + 50 оставшихся 50 пикселей для нижней полосы

1280 * 160/160-1280 //for mdpi

Поэтому обобщенный размер ваших ресурсов (при условии, что они полноэкранные):

ldpi
Vertical = 426 * 120 / 160 = 319.5px
Horizontal = 320 * 120 / 160 = 240px
mdpi
Vertical = 470 * 160 / 160 = 470px
Horizontal = 320 * 160 / 160 = 320px
hdpi
Vertical = 640 * 240 / 160 = 960px
Horizontal = 480 * 240 / 160 = 720px
1 голос
/ 10 февраля 2012

Прежде всего, устройства Honeycomb и Ice Cream Sandwich имеют панель программных кнопок в нижней части экрана, которая занимает часть экрана. В вашем случае кажется, что требуется 45 пикселей (800 - 755).

Тогда вы должны принять во внимание плотность. Я предполагаю, что это 1,5 для Motorola Xoom. Вы можете проверить это, запустив:

DisplayMetrics dm = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);
Log.d("TAG", dm.density);

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

...