Подтвердить что ты не робот

Какая разница между windowBackground и фоном для стиля деятельности?

У меня есть фоновый набор для всех действий приложения с использованием параметра "android: background" в стилях и установка темы приложения для ссылки на этот стиль.

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

После изменения параметра, используемого для "android: windowBackground", в этом случае также работает нормально.

Почему это происходит? Какая разница между двумя?

Кроме того, делает ли установка "android: windowBackground" на @null как здесь, обеспечивает такое же ускорение скорости, как и использование "андроид: фон"?

4b9b3361

Ответ 1

android:background - это цвет фона (возможно, точнее) для компонента вида, тогда как android:windowBackground - это фоновый цвет окна (активность или диалог), в котором находится ваше представление.

По умолчанию представления прозрачны (т.е. нет цвета фона), поэтому визуально выглядит, что они берут цвет из основного окна.

Обратите внимание, что в статье, в которой вы ссылались, упоминается установка windowBackground в значение null, а не фон для полноэкранного просмотра. Это обычная техника, позволяющая избежать переуровений.

Но тот же принцип может применяться к представлениям, если у вас есть один вид, полностью скрывающий другое представление.

Пример: gist.github.com/floatingmonkey/5474959