Форум программистов, компьютерный форум, киберфорум
Наши страницы

Программирование Android

Войти
Регистрация
Восстановить пароль
 
Sonyk91
110 / 110 / 4
Регистрация: 01.10.2012
Сообщений: 1,976
Завершенные тесты: 1
#1

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

20.02.2015, 11:42. Просмотров 371. Ответов 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 видимый пользователю (Программирование Android):

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

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

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

Из одной Activity запустить функцию другой Activity - Программирование Android
например есть Activity2 которое я показываю в Dialog окошке, там у меня находятся Date and Time Picker ы (Дата - начало, Дата - окончание)...

Из одного Activity получить значение другого Activity - Программирование Android
Запускаю активити: public class MainActivity extends Activity { ... ... Intent intent = new Intent(getBaseContext(),...

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

8
Sonyk91
110 / 110 / 4
Регистрация: 01.10.2012
Сообщений: 1,976
Завершенные тесты: 1
20.02.2015, 13:59  [ТС] #2
В общем нужен тот момент, когда активити уже отрисовано.
0
dtx1212
6 / 6 / 1
Регистрация: 08.12.2013
Сообщений: 26
22.02.2015, 18:05 #3
Ну самое простейшее решение, которое пришло в голову - это делать скриншот в отдельном Runnable, запуская его через postDelayed в onResume, а задержку можешь подобрать опытным путем уже.
0
Spelcrawler
527 / 497 / 111
Регистрация: 12.03.2014
Сообщений: 1,663
Завершенные тесты: 1
22.02.2015, 21:22 #4
Цитата Сообщение от dtx1212 Посмотреть сообщение
подобрать опытным путем
Для каждого устройства будет свое время отрисовки, тут никак не определить одного для всех. Самого интересовал данный вопрос - есть метод onPostCreate, но так толком и не проверял его, может и сработает.
0
dtx1212
6 / 6 / 1
Регистрация: 08.12.2013
Сообщений: 26
22.02.2015, 21:34 #5
Spelcrawler, ну можно и с запасом выставить, главное что на большинстве устройств все будет работать.
0
FreakMurderer
-58 / 10 / 2
Регистрация: 21.11.2013
Сообщений: 102
23.02.2015, 02:11 #6
Цитата Сообщение от dtx1212 Посмотреть сообщение
ну можно и с запасом выставить
И хочется вам говнокодить так ?
0
dtx1212
6 / 6 / 1
Регистрация: 08.12.2013
Сообщений: 26
23.02.2015, 13:06 #7
FreakMurderer, ну так предложите вариант получше.
0
Pablito
2546 / 2028 / 632
Регистрация: 12.05.2014
Сообщений: 7,146
Завершенные тесты: 1
23.02.2015, 13:23 #8
У меня когда-то была задача вычислить размер главного лаяута в пикселях, причем в момент запуска приложения его размеры были не известны.
Я нашел чудесный метод onWindowFocusChanged(), можно попробовать ваш код перенести туда и проверить.
0
Sonyk91
110 / 110 / 4
Регистрация: 01.10.2012
Сообщений: 1,976
Завершенные тесты: 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? - Программирование Android
Приложение перехватываем входящие СМС. Есть класс унаследованный от BroadcastReceiver, который обозначен в манифесте как приемник...

Создание Activity в другом Activity - Программирование Android
Нормально ли создавать экземпляр какого-либо Activity в текущем Activity? Дело в том, что код, нужный для работы с данными находится в...

Вывод activity в activity - Программирование Android
Добрый день. У меня есть две activity мне необходимо вывести одну в другой, а именно что бы меню activity1 осталось прежнем, а в...

Activity - Программирование Android
Интересует вопрос, как это реализовывается. 1. А именно при свапе влево/вправо или при непосредственном выборе "Люди", "Записи",...


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

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

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