Android: как создать анимацию входа в Google Plus? - PullRequest
1 голос
/ 14 декабря 2011

Кто-нибудь знает, как создать анимацию, аналогичную анимации входа, используемой в приложении Google Plus для Android?

Есть ли что-то похожее в Android SDK, которое я могу использовать? Или я должен просто построить его с нуля? Меня особенно интересует тот факт, что пользовательский интерфейс для модальной анимации затемнен и отключен.

Спасибо.

enter image description here

Ответы [ 2 ]

8 голосов
/ 14 декабря 2011

Вы понимаете, что в диалоге прогресса отображается слово "вход в систему"? Это не пользовательская анимация, это обычный виджет.

Вот код:

        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 голос
/ 14 декабря 2011

Чтобы показать прогрессию с помощью анимированного индикатора выполнения:

1 - Инициализируйте ProgressDialog с помощью конструктора класса, ProgressDialog(Context).Установите стиль выполнения на "STYLE_HORIZONTAL" с setProgressStyle(int) и установите любые другие свойства, такие как сообщение.

2- Когда вы будете готовы показать диалоговое окно, вызовите show () или верните ProgressDialog из обратного вызова onCreateDialog (int).

3- Вы можете увеличить величину прогресса, отображаемого на панели, вызвав либо setProgress(int) со значением для общего процента, выполненного до настоящего времени, либо incrementProgressBy(int) сдобавочное значение, добавляемое к общему проценту выполненных до сих пор.

Например, ваша установка может выглядеть следующим образом:

ProgressDialog progressDialog;
progressDialog = new ProgressDialog(mContext);
progressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
progressDialog.setMessage("Loading...");
progressDialog.setCancelable(false);

Установка проста.Большая часть кода, необходимого для создания диалога прогресса, на самом деле участвует в процессе его обновления.Вы можете обнаружить, что для этой работы необходимо создать второй поток в вашем приложении, а затем сообщить о ходе выполнения обратно в поток пользовательского интерфейса Activity с объектом Handler.Если вы не знакомы с использованием дополнительных потоков с обработчиком, см. Пример действия ниже, в котором используется второй поток для увеличения диалогового окна хода выполнения, управляемого этим действием.

...