Intereting Posts
Эмулятор Android Studio не поставляется с Play Store для API 23 Интервал запуска AutoSync Android? SharedPreferences: Является ли это классом или интерфейсом? Пользователь Jabber переходит в автономный режим: почему два разных сценария? Создайте 2D-штрих-код (например, QR-код, матрицу данных, PDF417) на iPhone и Android Является ли Android InflaterInputStream такой же популярной библиотекой ZLIB Windows? Как создать подсказки в окне редактирования текстового поля, которые исчезают, когда фокус текста? Android ListView: обнаружение, если данные ListView подходят на экране без прокрутки Как правильно изучить тестирование Android? Эмуляция карты хоста на Android (4.4 / KitKat и выше) с Nexus 5 В биллинге приложений в android Предупреждение о прерывании kotlin, устаревшее для android Calendar.MINUTE, дающий минуты без начального нуля Публикация частного приложения Android для нескольких клиентов Ошибка AlarmManager при сбросе / отмене сигнала при изменении даты и времени

Изображение фонового изображения Android

Как использовать фоновое изображение в теме / стиле деятельности?

Если я сделаю это с помощью цвета:

<style name="CustomTheme" parent="android:Theme.Light"> <item name="android:windowBackground">@color/custom_theme_color</item> </style> 

Он работает правильно, но если я заменю строку:

 <item name="android:windowBackground">@drawable/splash_image</item> 

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

Я использую Mono для Android, и изображение представляет собой действительный файл с девятью патчами.

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

 android:background="@drawable/splash_image" 

Я не использую темы или что-то еще, поэтому я не уверен, как это повлияет на это, но я установил свой фон следующим образом:

 getWindow().setBackgroundDrawableResource(R.drawable.background_image); 

В onCreate

Мне нужно было создать всплеск, похожий на начальную активность моего приложения, и столкнулся с той же проблемой. Мне повезло с windowContentOverlay вместо windowBackground. Выбираемая строка появилась ниже строки состояния в том же положении, что и реальный макет. Он работал на Android 2.2, Android 3.0 и Android 4.1.

Это мой стиль:

 <style name="SplashTheme" parent="android:style/Theme.Light"> <item name="android:windowNoTitle">true</item> <item name="android:windowContentOverlay">@drawable/splash</item> </style> 

Мой splash.xml drawable имитирует заголовок моего пользовательского интерфейса с помощью списка слоев:

 <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <!--- Background; tile is broken on Android 2.2 so just have super wide background that will get clipped --> <item> <bitmap android:gravity="top|left" android:src="@drawable/splash_background" /> </item> <!--- Icon left justified --> <item> <bitmap android:gravity="top|left" android:src="@drawable/header_icon" /> </item> <!--- Buttons/etc right justified --> <item> <bitmap android:gravity="top|right" android:src="@drawable/splash_buttons" /> </item> </layer-list> 

Я считаю, что ActionBar также имеет некоторые встроенные способы справиться с этим, если ваше приложение использует его. Кажется, что у образца MonoIO есть такой образ запуска.

Моим решением было изменение андроида: windowBackground для android: background.

 <?xml version="1.0" encoding="UTF-8" ?> <resources> <style name="Theme.Splash" parent="android:Theme"> <item name="android:background">@drawable/splash</item> <item name="android:windowNoTitle">true</item> </style> </resources>