Как использовать экран контактных данных, например Lollipop
Я хочу реализовать экран контактных данных, например, Android 5.0 aka Lollipop.
Чтобы описать больше, когда мы нажимаем на значок/изображение любого контакта, один снимок открывается вверх снизу экрана. По умолчанию этот вид заполняет половину экрана, а оставшаяся вершина экрана прозрачна с добавлением немного альфа.
Во-вторых, View изменяет свое положение вверх пальцем в направлении вверх, а также прозрачная часть становится более темной, и в одной позиции имя контакта (TextView) начинает уменьшать размер шрифта. Это продолжается до тех пор, пока не станет частью ActionBar.
У меня есть некоторые вопросы относительно того, как реализовать это
-
Является ли контактная информация Просмотр отдельного действия с прозрачной половиной вверху или наложение только на экран списка контактов
-
Какое наилучшее возможное решение для показа анимации с жестом (изменение положения с помощью пальца).
-
Как уменьшить размер клавиатуры с помощью пальца и как определить, что теперь TextView должен начать уменьшать размер шрифта
-
Последнее: Как сделать TextView частью панели действий с изменениями пальца.
Ответы
Ответ 1
Используйте android.support.design.widget.BottomSheetDialog
Например:
BottomSheetDialog mBottomSheetDialog = new BottomSheetDialog(this);
View view = getLayoutInflater().inflate(R.layout.your_layout, null);
// do any view specific operations here like adding click listener etc..,
mBottomSheetDialog.setContentView(view);
mBottomSheetDialog.show();
И когда у вас есть прокручиваемые виджеты (Nested Scrollview или RecyclerView) в вашем раздутом макета, он будет работать очень плавно.
Интересная часть - вы можете установить начальную высоту содержимого
BottomSheetBehavior mBehavior = BottomSheetBehavior.from((View) view.getParent());
mBehavior.setPeekHeight(dialog height);