Ну, вы можете настроить отдельное изображение для автоматического масштабирования для размера экрана каждого устройства, это объясняет, как здесь:
http://developer.android.com/guide/practices/screens_support.html
Проблема в том, что если вы хотите получить хороший аспект, вы должны сделать свое оригинальное изображение довольно большим (таким же большим, как самое большое разрешение, на котором вы ожидаете, что ваше приложение будет использоваться). Затем при уменьшении для меньших экранов эта большая картинка все равно будет занимать больше памяти, чем необходимо.
На самом деле существует не так много разных разрешений, может быть, 7-8 основных. Вы должны сделать отдельные фоновые изображения с размерами, специфичными для каждого целевого разрешения, а затем, в методе вашего действия onCreate(...)
, вы можете сделать что-то подобное, чтобы получить текущее разрешение экрана устройства:
Display display = ((WindowManager) getApplicationContext().getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay();
int screenWidth = display.getWidth();
int screenHeight = display.getHeight();
и загрузите соответствующий фон для него (с учетом возможных размеров заголовка и строки состояния)