Какая разница между windowBackground и фоном для стиля деятельности?
У меня есть фоновый набор для всех действий приложения с использованием параметра "android: background" в стилях и установка темы приложения для ссылки на этот стиль.
Все работало хорошо, пока я не заметил, что для диалога со списком элементов он позволяет каждому элементу иметь полный размер фона.
После изменения параметра, используемого для "android: windowBackground", в этом случае также работает нормально.
Почему это происходит? Какая разница между двумя?
Кроме того, делает ли установка "android: windowBackground" на @null как здесь, обеспечивает такое же ускорение скорости, как и использование "андроид: фон"?
Ответы
Ответ 1
android:background
- это цвет фона (возможно, точнее) для компонента вида, тогда как android:windowBackground
- это фоновый цвет окна (активность или диалог), в котором находится ваше представление.
По умолчанию представления прозрачны (т.е. нет цвета фона), поэтому визуально выглядит, что они берут цвет из основного окна.
Обратите внимание, что в статье, в которой вы ссылались, упоминается установка windowBackground
в значение null, а не фон для полноэкранного просмотра. Это обычная техника, позволяющая избежать переуровений.
Но тот же принцип может применяться к представлениям, если у вас есть один вид, полностью скрывающий другое представление.
Пример: gist.github.com/floatingmonkey/5474959