Анимация, как включение учетных записей в приложении Gmail

Просмотр навигации в приложении Gmail

Переведите щелкнутое изображение в активное изображение учетной записи и уменьшите изображение активной учетной записи с ее позиции, затухающей в месте щелкнутого изображения.

Когда я нашел эту ссылку. : https://github.com/HeinrichReimer/material-drawer .

В этой ссылке демоверсия NavigationDrawer использует технику Switch Account , поскольку вам требуется изменить свою учетную запись.

Для этого вы выбрали свою учетную запись, нажав на Small round corner как вы можете видеть в ScreenShot (+2) , правой стороне, которые открываются DropDown И вы выбрали, с какой учетной записью вы должны идти.

Зависимость:

Грейд-зависимость:

 repositories { // ... maven { url 'https://jitpack.io' } } dependencies { compile 'com.heinrichreimersoftware:material-drawer:2.3.2' } 

Как использовать :

Шаг 1. Пусть ваша активность расширяет DrawerActivity:

 public class MainActivity extends DrawerActivity {} 

Шаг 2. Задайте свой контент:

 setContentView(R.layout.activity_main); 

Шаг 3: Задайте профиль:

 drawer.setProfile( new DrawerProfile() .setRoundedAvatar((BitmapDrawable)getResources().getDrawable(R.drawable.profile_avatar)) .setBackground(getResources().getDrawable(R.drawable.profile_cover)) .setName(getString(R.string.profile_name)) .setDescription(getString(R.string.profile_description)) .setOnProfileClickListener(new DrawerProfile.OnProfileClickListener() { @Override public void onClick(DrawerProfile drawerProfile, long id) { Toast.makeText(MainActivity.this, "Clicked profile #" + id, Toast.LENGTH_SHORT).show(); } }) ); 

Шаг 4. Заполните список ящиков:

 drawer.addItem( new DrawerItem() .setImage(getResources().getDrawable(R.drawable.ic_first_item)) .setTextPrimary(getString(R.string.title_first_item)) .setTextSecondary(getString(R.string.description_first_item)) .setOnItemClickListener(new DrawerItem.OnItemClickListener() { @Override public void onClick(DrawerItem drawerItem, long id, int position) { Toast.makeText(MainActivity.this, "Clicked first item #" + id, Toast.LENGTH_SHORT).show(); } }) ); drawer.addDivider(); drawer.addItem( new DrawerItem() .setImage(getResources().getDrawable(R.drawable.ic_second_item)) .setTextPrimary(getString(R.string.title_second_item)) .setOnItemClickListener(new DrawerItem.OnItemClickListener() { @Override public void onClick(DrawerItem drawerItem, long id, int position) { Toast.makeText(MainActivity.this, "Clicked second item #" + id, Toast.LENGTH_SHORT).show(); } }) ); 

Шаг 5: Добавьте actionBarStyle к своей теме:

 <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar"> <item name="colorPrimary">@color/color_primary</item> <item name="colorPrimaryDark">@color/color_primary_dark</item> <item name="colorAccent">@color/color_accent</item> <item name="actionBarStyle">@style/ThemeOverlay.AppCompat.Dark.ActionBar</item> </style> 

Шаг 6 (Необязательно): измените тему ящика:

Ящик получает тематику на основе выбранной вами темы приложения, но вы также можете ее изменить.

 setDrawerTheme( new DrawerTheme(this) .setBackgroundColorRes(R.color.background) .setTextColorPrimaryRes(R.color.primary_text) .setTextColorSecondaryRes(R.color.secondary_text) .setTextColorPrimaryInverseRes(R.color.primary_text_inverse) .setTextColorSecondaryInverseRes(R.color.secondary_text_inverse) .setHighlightColorRes(R.color.highlight) ); 

Шаг 7 (необязательно): установите собственную панель инструментов:

Вы можете установить свою панель инструментов так же, как и в ActionBarActivity.

 setSupportActionBar(toolbar); 

Вывод :

Введите описание изображения здесь

Введите описание изображения здесь

Надеюсь, это поможет вам в Happy Code …

Мне нравятся функции этой библиотеки, когда кто-то говорит о материализованном навигационном ящике, это очень полезно. Вы можете определенно реализовать его здесь, это скриншоты.

Введите описание изображения здесь

Введите описание изображения здесь

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

Используйте эффект анимации с макетами и сделайте все, что захотите. Я предлагаю вам следующий учебник, который мне полезен, и я использую его для анимации.

Пример анимированной навигации

https://github.com/mxn21/FlowingDrawer

Эффект кнопки для анимации

Другие полезные

https://github.com/XXApple/AndroidLibs/blob/master/%E5%B8%83%E5%B1%80Layout/README.md

Его старый, но вечнозеленый пример Рави Бро.

http://www.androidhive.info/2013/06/android-working-with-xml-animations/