OnWindowFocusChanged и onCreate - Android

I am trying to setup the UI elements programatically.
I am able to setup the UI elements in onWindowFocusChanged method?
The question i want to ask is - shall i setup the UI elements in the onCreate method or on onWindowFocusChanged? The code -

@Override
protected void onCreate(Bundle savedInstanceState) {
   //TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setContentView(R.layout.baselayout);
}

And

@Override
public void onWindowFocusChanged(boolean hasFocus) {
   //TODO Auto-generated method stub
    super.onWindowFocusChanged(hasFocus);
    if (hasFocus) {
        res = getResources();
        inflater = (LayoutInflater) getSystemService(LAYOUT_INFLATER_SERVICE);
        setUpBackgroundImage();// setting up the background image
        setUpTopMenu();//Setting up the menu on top
        setUpLogo();//Setting up the Logo
    }
}

Правильно ли указан этот подход?

8
nl ja de
Обычно в onCreate() или onStart()
добавлено автор user948620, источник

2 ответы

Обратите внимание, что некоторые новые устройства способны отображать несколько окон, onWindowFocusChanged() не является идеальным местом для инициализации вашего макета. Используйте onCreate() , чтобы раздуть макет и настроить переменные вида.

6
добавлено
В сценарии нескольких окон - если текущая активность теряет фокус, будут ли виды видны?
добавлено автор Anukool, источник
В соответствии с документацией для onWindowFocusChanged. Однако, как правило, возобновленная активность будет иметь фокус окна ... если только она не отображает другие диалоги или всплывающие окна, которые принимают фокус ввода, и в этом случае сама деятельность не будет иметь фокуса, когда другая в окнах есть
добавлено автор Anukool, источник
Проблема, с которой я столкнулся при настройке пользовательского интерфейса в onCreate, - это настроить логотип в относительном положении, скажем, на 10% верхней границы фона. Для этого я должен вычислить высоту экрана программно и узнать 10% высоты и настроить логотип. В onCreate я получаю высоту фонового изображения как 0, потому что вид еще не нарисован. Вот почему я искал такой метод, как onWindowFocusChanged
добавлено автор Anukool, источник
@Anukool Да, они могут быть видны, вот пример .
добавлено автор S.D., источник
@Anukool Вот что значит onPause() . Кроме того, Activity должно беспокоиться о собственных представлениях/диалогах/всплывающих окнах, а не о других окнах.
добавлено автор S.D., источник
@Anukool Просто используйте onResume() , ИЛИ, переопределите onLayout() родительского ViewGroup , установите поля для этого специального дочернего view (логотип) в соответствии с текущим размером, а затем вызовите реализацию по умолчанию < код> super.onLayout() .
добавлено автор S.D., источник

onCreate() This is the place where you setup your UI

onWindowFocusChanged() This is called when all your layouts or UI have been successfully loaded or created properly.

4
добавлено
Mobile Dev Jobs — вакансии и аналитика
Mobile Dev Jobs — вакансии и аналитика
6 187 участник(ов)

Публикуем вакансии и запросы на поиск работы по направлению iOS, Android, Xamarin и т.д. ВАЖНО: Правила публикации и правила канала: Ссылка – https://telegra.ph/Pravila-oformleniya-vakansij-i-rezyume-11-09-2

Android Developers
Android Developers
4 476 участник(ов)

Общаемся на темы, посвященным Android-разработке, SDK, Kotlin, Realm и т.д.

Android Architecture
Android Architecture
2 186 участник(ов)

Русскоязычный чат по архитектуре в андроид приложениях. Подробнее: http://telegra.ph/Android-Architecture-12-24

rus-speaking/android
rus-speaking/android
1 705 участник(ов)

Основной чат по Android разработке (вопрос-ответ). ПРАВИЛА: bit.ly/andr-rules. NEWS: bit.ly/AnrdResId ЧАТЫ: Основной: bit.ly/andr-main IDE, сборка, Git, сервисы: bit.ly/andr-tools Оффтоп: bit.ly/andr-offtop Конференции, события: bit.ly/andr-events Вакансии, найм: bit.ly/andr-job Архитектура: bit.ly/andr-patterns Rx: bit.ly/andr-rx Тестирование: bit.ly/andr-test Kotlin: bit.ly/andr-kotlin Хаmarin: bit.ly/andr-xamarin За мат, спам, агрессию, предложения о работе, оффтоп в этом канале - бан на сутки и более ☢☢☢

Android Dev Подкаст
Android Dev Подкаст
1 325 участник(ов)

Комната для обсуждения Android Dev подкаста apptractor.ru/AndroidDev/ Общее обсуждение Android: https://t.me/android_ru Остальные чаты про Android: http://t.me/devChats Наши новости https://t.me/androiddevpodcast_news

Android Guards
Android Guards
602 участник(ов)

Обсуждение любых вопросов касающихся безопасности Android. - Защита системы и приложений - Уязвимости и эксплойты - Вредоносное ПО - Копание в кишках системы и приложений (RE)

Android JOB
Android JOB
466 участник(ов)

Публикуем вакансии и запросы на поиск работы по направлению Android (full-time, part-time, remote и разовые подработки)

AndroidDev :: Разработка. It's Android time now!
AndroidDev :: Разработка. It's Android time now!
458 участник(ов)

It's Android time now! Чат разработчиков Android. Вакансии, резюме и информацию о митапах размещать можно. Публикацию скрытой и явной рекламы ваших каналов и сайтов после получения разрешения от @olegushakov

Aandroid Talks!
Aandroid Talks!
212 участник(ов)

Чат об общих вопросах по ОС Android. Чат для разработки под андроид - pro.android: https://t.me/joinchat/AAAAAEKIFKnmRT9cMebb9w

Android Rus
Android Rus
68 участник(ов)