Форум программистов, компьютерный форум CyberForum.ru

Activity видимый пользователю - Android

Восстановить пароль Регистрация
 
Sonyk91
 Аватар для Sonyk91
104 / 104 / 4
Регистрация: 01.10.2012
Сообщений: 1,844
Завершенные тесты: 1
20.02.2015, 11:42     Activity видимый пользователю #1
Нужно сделать скриншот во время загрузки активити, обработать его и выставить как бэкграунд.
В методе onResume активити еще не отрисовано, поэтому получается черный экран (снимок)
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
    @Override
    protected void onResume() {
        super.onResume();
        RelativeLayout rlGamePole = (RelativeLayout) findViewById(R.id.linearLayout1);
        View v1 = rlGamePole.getRootView();
        v1.layout(0, 0, width, height);
        v1.setDrawingCacheEnabled(true);
        v1.buildDrawingCache(true);
        Bitmap bm = Bitmap.createBitmap(v1.getDrawingCache(), 0, 0, v1.getRight(), v1.getBottom());
 
        Drawable backGraundDrawable = blur(bm, flStartMenu);
        ivStartMuneBackgraund.setImageDrawable(backGraundDrawable);
        v1.destroyDrawingCache();
}
При вызове в onResume (черный экран
То что должно получиться (вызывал в обработчике события кнопки) . По кнопке Play на предыдущем скриншоте (когда активити уже точно видно).
Миниатюры
Activity видимый пользователю   Activity видимый пользователю  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.02.2015, 11:42     Activity видимый пользователю
Посмотрите здесь:

destroy activity Android
Приостановка Activity Android
Запрет на нажатия в activity Android
Fragments и Activity Android
Activity с авторизацией Android
Ссылка в Webview на activity Android
Activity и многопоточность Android
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Sonyk91
 Аватар для Sonyk91
104 / 104 / 4
Регистрация: 01.10.2012
Сообщений: 1,844
Завершенные тесты: 1
20.02.2015, 13:59  [ТС]     Activity видимый пользователю #2
В общем нужен тот момент, когда активити уже отрисовано.
dtx1212
6 / 6 / 1
Регистрация: 08.12.2013
Сообщений: 26
22.02.2015, 18:05     Activity видимый пользователю #3
Ну самое простейшее решение, которое пришло в голову - это делать скриншот в отдельном Runnable, запуская его через postDelayed в onResume, а задержку можешь подобрать опытным путем уже.
Spelcrawler
521 / 491 / 110
Регистрация: 12.03.2014
Сообщений: 1,641
Завершенные тесты: 1
22.02.2015, 21:22     Activity видимый пользователю #4
Цитата Сообщение от dtx1212 Посмотреть сообщение
подобрать опытным путем
Для каждого устройства будет свое время отрисовки, тут никак не определить одного для всех. Самого интересовал данный вопрос - есть метод onPostCreate, но так толком и не проверял его, может и сработает.
dtx1212
6 / 6 / 1
Регистрация: 08.12.2013
Сообщений: 26
22.02.2015, 21:34     Activity видимый пользователю #5
Spelcrawler, ну можно и с запасом выставить, главное что на большинстве устройств все будет работать.
FreakMurderer
-58 / 10 / 2
Регистрация: 21.11.2013
Сообщений: 72
23.02.2015, 02:11     Activity видимый пользователю #6
Цитата Сообщение от dtx1212 Посмотреть сообщение
ну можно и с запасом выставить
И хочется вам говнокодить так ?
dtx1212
6 / 6 / 1
Регистрация: 08.12.2013
Сообщений: 26
23.02.2015, 13:06     Activity видимый пользователю #7
FreakMurderer, ну так предложите вариант получше.
Паблито
не спать!
1881 / 1615 / 500
Регистрация: 12.05.2014
Сообщений: 5,836
Завершенные тесты: 1
23.02.2015, 13:23     Activity видимый пользователю #8
У меня когда-то была задача вычислить размер главного лаяута в пикселях, причем в момент запуска приложения его размеры были не известны.
Я нашел чудесный метод onWindowFocusChanged(), можно попробовать ваш код перенести туда и проверить.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.03.2015, 13:14     Activity видимый пользователю
Еще ссылки по теме:

Android Создание Activity
Android Activity окошки
Android Два Activity
Activity контент Android
Android Basic Activity

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Sonyk91
 Аватар для Sonyk91
104 / 104 / 4
Регистрация: 01.10.2012
Сообщений: 1,844
Завершенные тесты: 1
13.03.2015, 13:14  [ТС]     Activity видимый пользователю #9
dtx1212, Spelcrawler, FreakMurderer, Паблито, как то пропустил ваше обсуждение =(.
Я сделал кастомный LinearLayout и переопределил в нем метод onDraw.
Паблито, onWindowFocusChanged проверю.

Возникла еще проблема, хотя она требует отдельной темы. Адаптер ведет себя некорректно, на разных версиях андроид. В версии 2.3.x элементы адаптера, когда "перекрыты" невидимым элементом view (gone), начинают себя вести некорректно. Загрузка происходит по разному, на андроиде 4.х таких проблем не наблюдалось...
P.S. вдруг кто встречался с подобным явлением...
Yandex
Объявления
13.03.2015, 13:14     Activity видимый пользователю
Ответ Создать тему

Метки
activity, activity трисованно, screenshot
Опции темы

Текущее время: 18:12. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru