Полноэкранное фоновое изображение в действии
Я вижу много приложений, которые используют полноэкранное изображение в качестве фона. Это пример:
Я хочу использовать это в проекте, лучший способ, который я нашел до сих пор, – использовать изображение с большим размером, поместить его в ImageView
и использовать android: adjustViewBounds="true"
чтобы настроить поля
Проблема в том, что если экран с очень высоким разрешением, изображение падает.
Другой вариант, о котором я думал, – использовать изображение в FrameLayout
, с match_parent
по width
и height
качестве фона … это растягивает изображение, но я думаю, что результат не очень хорош.
Как бы вы это сделали?
Есть несколько способов сделать это.
Опция 1:
Создавайте разные идеальные изображения для разных dpi и размещайте их в соответствующей папке с возможностью рисования. Затем установите
android:background="@drawable/your_image
Вариант 2:
Добавьте одно большое изображение. Используйте FrameLayout. В качестве первого ребенка добавьте ImageView
. Установите в вашем ImageView следующее.
android:src="@drawable/your_image" android:scaleType = "centerCrop"
Другим вариантом является добавление отдельного изображения (не обязательно большого) в drawables (назовем его backgroung.jpg), создайте ImageView iv_background в корне вашего xml без атрибута «src». Затем в методе onCreate соответствующей активности:
/* create a full screen window */ requestWindowFeature(Window.FEATURE_NO_TITLE); getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); setContentView(R.layout.your_activity); /* adapt the image to the size of the display */ Display display = getWindowManager().getDefaultDisplay(); Point size = new Point(); display.getSize(size); Bitmap bmp = Bitmap.createScaledBitmap(BitmapFactory.decodeResource( getResources(),R.drawable.background),size.x,size.y,true); /* fill the background ImageView with the resized image */ ImageView iv_background = (ImageView) findViewById(R.id.iv_background); iv_background.setImageBitmap(bmp);
Нет обрезки, нет изображений разных размеров. Надеюсь, поможет!
Вы должны поместить изображения различных размеров в следующую папку
для более подробной информации посетите эту ссылку
-
ldpi
-
MDPI
-
ИПЧР
-
xhdpi
-
xxhdpi
и используйте RelativeLayout или LinearLayout, вместо использования ImageView в качестве примера
Как насчет
android:background="@drawable/your_image"
на основном макете вашей деятельности?
Таким образом, вы также можете иметь разные изображения для разных плотностей экрана, помещая их в соответствующие папки res/drawable-**dpi
.
использовать это
android:background="@drawable/your_image
в вашей деятельности очень первый линейный или относительный макет.
Если вы хотите, чтобы ваш образ показывал BEHIND прозрачную панель действий, поместите следующее в определение стиля вашей темы:
- true
- true
Наслаждайтесь!
Прошло некоторое время, так как это было опубликовано, но это помогло мне.
Вы можете использовать вложенные макеты. Начните с RelativeLayout и поместите в него ImageView.
Установите высоту и ширину в match_parent, чтобы заполнить экран.
Установите scaleType = “centreCrop”, чтобы изображение соответствовало экрану и не растягивалось.
Затем вы можете разместить любые другие макеты, как обычно, например LinearLayout.
Вы можете использовать android: alpha для установки прозрачности изображения.
В строках с ответом NoToast вам нужно будет иметь несколько версий «your_image» в ваших res / drawable-ldpi, mdpi, hdpi, x-hdpi (для больших экранов xtra), удалить match_parent и сохранить android: adjustViewBounds = ” правда”
Добавьте android:background="@drawable/your_image"
внутри вашего Relativelayout / Linearlayout.
Если у вас есть bg.png в качестве фонового изображения, просто:
Самый простой способ:
Шаг 1. Откройте файл AndroidManifest.xml.
Вы можете увидеть файл здесь!
Шаг 2: Найдите android:theme="@style/AppTheme" >
Шаг 3: android:theme="@style/Theme.AppCompat.NoActionBar" >
в android:theme="@style/Theme.AppCompat.NoActionBar" >
Шаг 4: Затем добавьте ImageView & Image
Шаг 4: Вот и все!
За работой. вы должны попробовать это:
android:src="@drawable/img"
three step for put background
1) вы должны выбрать понравившуюся картинку. например: введите описание изображения здесь
2) Затем вы копируете это изображение с возможностью рисования. предупреждение: вы должны выбрать типы, краткие для изображения имени.
введите описание изображения здесь
3) вы переходите на страницу xml Предназначен и пишите:
android: background = “id picture”, например, мой идентификатор изображения – @ drawable / download.
введите описание изображения здесь
Конец.