Преобразуйте изображение, по которому щелкнули, в изображение активной учетной записи и затемните изображение активной учетной записи с его позиции, чтобы изображение, на которое было нажато, исчезло.
Анимация, например переключение учетных записей в приложении Gmail.
Ответы (3)
Используйте эффект анимации с макетами и делайте все, что хотите. Я предлагаю вам следовать уроку, который полезен для меня, и я использую его для анимации.
Пример анимированной навигации
https://github.com/mxn21/FlowingDrawer
Эффект кнопки для анимации
Другое полезное
https://github.com/XXApple/AndroidLibs/blob/master/%E5%B8%83%E5%B1%80Layout/README.md
это старый, но вечнозеленый пример Ravi Bro.
http://www.androidhive.info/2013/06/android-working-with-xml-animations/
Как я нашел эту ссылку. : https://github.com/HeinrichReimer/material-drawer.
В этой ссылке NavigationDrawer
демонстрация использует Switch Account
метод, который вам требуется для изменения вашей учетной записи.
Для этого вы должны выбрать свою учетную запись, нажав на Small round corner
, как вы можете видеть на снимке экрана (+2)
, правая сторона которого открыта DropDown
. И вы должны выбрать, какую учетную запись вам нужно пройти.
Зависимость:
Зависимость Gradle:
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 Coding...
NavigationDrawer
, которую мы получаем напрямую.
- person Harshad Pansuriya; 17.07.2016
Мне нравятся функции этой библиотеки, когда кто-то говорит о материализации навигационного ящика, это очень полезно. вы можете определенно реализовать это вот снимки экрана.
это очень настраиваемый, и мы использовали его почти в 4 проектах, и я им очень доволен. прочитайте это здесь. Я не совсем уверен в анимации, но вы можете добиться этого, потому что это очень настраиваемая библиотека.