Кто-нибудь знает, как создать подобную анимацию для анимации входа, используемой в приложении Google Plus для Android?
Есть ли что-то подобное в Android SDK, которое я могу использовать? Или я должен просто строить его с нуля? Меня особенно интересует тот факт, что пользовательский интерфейс за модальной анимацией тускнеет и отключен.
Спасибо.
Вы занимаетесь этим диалоговым окном прогресса, который говорит "подписание"? Это не обычная анимация вообще, это общий виджет.
Здесь код:
ProgressDialog progressDialog = new ProgressDialog(this);
progressDialog.setMessage("Signing in...");
progressDialog.show();
//... complete sign in...then
progressDialog.dismiss();
ProgressDialog, сделанный таким образом, автоматически позаботится о том, чтобы затемнить/размыть фон. Вы действительно должны прочитать о диалогах: http://developer.android.com/guide/topics/ui/dialogs.html
Чтобы показать прогрессию с анимированным индикатором выполнения:
1- Инициализировать ProgressDialog
с помощью конструктора классов, ProgressDialog(Context)
. Установите стиль выполнения на "STYLE_HORIZONTAL"
с помощью setProgressStyle(int
) и установите любые другие свойства, такие как сообщение.
2- Когда вы будете готовы показать диалог, вызовите show() или верните ProgressDialog
из обратного вызова onCreateDialog (int).
3- Вы можете увеличить объем выполнения, отображаемый на панели, вызвав либо setProgress(int)
либо значение для общего процента, setProgress(int)
до сих пор, или incrementProgressBy(int)
с добавочным значением для добавления к общему проценту, выполненному до сих пор.
Например, ваша установка может выглядеть так:
ProgressDialog progressDialog;
progressDialog = new ProgressDialog(mContext);
progressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
progressDialog.setMessage("Loading...");
progressDialog.setCancelable(false);
Настройка проста. Большая часть кода, необходимого для создания диалога прогресса, фактически задействована в процессе обновления. Возможно, вам необходимо создать второй поток в приложении для этой работы, а затем сообщить о прогрессе в поток пользовательского интерфейса активности с объектом Handler. Если вы не знакомы с использованием дополнительных потоков с помощью Handler, см. Пример Activity ниже, в котором используется второй поток, чтобы увеличить прогресс, управляемый Activity.