Моя проблема заключается в следующем: я использую эмулятор Android, ориентированный на Android 2.2. Я создал настраиваемое представление, в котором я хочу обрабатывать фон моего приложения, в этом представлении я хочу отображать только изображение, но я хочу, чтобы оно заполняло весь экран.
Я инициализирую представление из своей «Активности» следующим образом: BackgroundView bw = new BackgroundView(this);
Проблема: на моем жестком диске изображение ресурса, которое я использую, имеет размер 500x375 пикселей. После вызова:
Растровое изображение m_resourceBitmap = BitmapFactory.decodeResource(getResources(), R.drawable.landscape_1); int nWidth = m_resourceBitmap.getWidth(); int nHeight = m_resourceBitmap.getHeight();
возвращаемые nWidth и nHeight зависят от того, где я разместил ресурс, если я поместил его в «drawable-mdpi», я получаю исходный размер, в противном случае я получаю другие размеры.
С другой стороны, если я запрашиваю представление о его ширине и высоте через this.getWidth(); это.getHeight();
Я получаю фиксированные значения, но отличающиеся от разрешения, которое я ожидал от устройства (я устанавливаю устройство 480x800 и получаю 320x533)
и, наконец, если я попытаюсь создать масштабную матрицу, используя размеры вида, разделенные на размеры изображения, результатом на экране будет изображение, намного меньшее, чем экран...
У меня такой вопрос: Какие вопросы мне задавать и из каких объектов, чтобы внутри View я мог нарисовать ресурс Bitmap, чтобы он занимал весь экран?