Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Sonyk91
110 / 110 / 13
Регистрация: 01.10.2012
Сообщений: 2,084
Завершенные тесты: 1
1

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

20.02.2015, 11:42. Просмотров 400. Ответов 8

Нужно сделать скриншот во время загрузки активити, обработать его и выставить как бэкграунд.
В методе 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 на предыдущем скриншоте (когда активити уже точно видно).
0
Миниатюры
Activity видимый пользователю   Activity видимый пользователю  
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.02.2015, 11:42
Ответы с готовыми решениями:

Приложение зависает, если свернуть и развернуть Activity или перейти на другую Activity
У меня в параллельном потоке происходит куча apply() Решение использовать...

Android - Передача данных с одного Activity на другое Activity
Здравствуйте , возникла необходимость получения числовых (int и float ну или...

Как из одного Activity перенести фотку в другое Activity?
Собственно необходимо отобразить фотографию в activity2, которую загрузили в...

Изменение layout-элементов одного activity из другого activity
Здравствуйте! Я хочу изменить размер или цвет текста TextView в одном...

Из одного Activity получить значение другого Activity
Запускаю активити: public class MainActivity extends Activity { ... ......

8
Sonyk91
110 / 110 / 13
Регистрация: 01.10.2012
Сообщений: 2,084
Завершенные тесты: 1
20.02.2015, 13:59  [ТС] 2
В общем нужен тот момент, когда активити уже отрисовано.
0
dtx1212
6 / 6 / 3
Регистрация: 08.12.2013
Сообщений: 26
22.02.2015, 18:05 3
Ну самое простейшее решение, которое пришло в голову - это делать скриншот в отдельном Runnable, запуская его через postDelayed в onResume, а задержку можешь подобрать опытным путем уже.
0
Spelcrawler
531 / 501 / 113
Регистрация: 12.03.2014
Сообщений: 1,666
Завершенные тесты: 1
22.02.2015, 21:22 4
Цитата Сообщение от dtx1212 Посмотреть сообщение
подобрать опытным путем
Для каждого устройства будет свое время отрисовки, тут никак не определить одного для всех. Самого интересовал данный вопрос - есть метод onPostCreate, но так толком и не проверял его, может и сработает.
0
dtx1212
6 / 6 / 3
Регистрация: 08.12.2013
Сообщений: 26
22.02.2015, 21:34 5
Spelcrawler, ну можно и с запасом выставить, главное что на большинстве устройств все будет работать.
0
FreakMurderer
10 / 10 / 2
Регистрация: 21.11.2013
Сообщений: 106
23.02.2015, 02:11 6
Цитата Сообщение от dtx1212 Посмотреть сообщение
ну можно и с запасом выставить
И хочется вам говнокодить так ?
0
dtx1212
6 / 6 / 3
Регистрация: 08.12.2013
Сообщений: 26
23.02.2015, 13:06 7
FreakMurderer, ну так предложите вариант получше.
0
Pablito
2731 / 2166 / 735
Регистрация: 12.05.2014
Сообщений: 7,579
Завершенные тесты: 1
23.02.2015, 13:23 8
У меня когда-то была задача вычислить размер главного лаяута в пикселях, причем в момент запуска приложения его размеры были не известны.
Я нашел чудесный метод onWindowFocusChanged(), можно попробовать ваш код перенести туда и проверить.
0
Sonyk91
110 / 110 / 13
Регистрация: 01.10.2012
Сообщений: 2,084
Завершенные тесты: 1
13.03.2015, 13:14  [ТС] 9
dtx1212, Spelcrawler, FreakMurderer, Паблито, как то пропустил ваше обсуждение =(.
Я сделал кастомный LinearLayout и переопределил в нем метод onDraw.
Паблито, onWindowFocusChanged проверю.

Возникла еще проблема, хотя она требует отдельной темы. Адаптер ведет себя некорректно, на разных версиях андроид. В версии 2.3.x элементы адаптера, когда "перекрыты" невидимым элементом view (gone), начинают себя вести некорректно. Загрузка происходит по разному, на андроиде 4.х таких проблем не наблюдалось...
P.S. вдруг кто встречался с подобным явлением...
0
13.03.2015, 13:14
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.03.2015, 13:14

Вызвать из одной activity функцию другой activity
вызвать из одного activity функцию другой activity Подскажите, можно ли такое...

Как в Navigation Drawer Activity засунуть Activity?
Здравствуйте! у меня такая проблема navigation drawer activity работает только...

Из одной Activity запустить функцию другой Activity
например есть Activity2 которое я показываю в Dialog окошке, там у меня...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru