如何实现像 Lollipop 这样的联系人详细信息屏幕
How to Implement Contact details screen like Lollipop
我想实现联系人详细信息屏幕,例如 Android 5.0 aka Lollipop。
当我们点击任何联系人的 icon/image 时,为了描述更多,一个视图从屏幕底部向上滑动。默认情况下,此视图占满屏幕的一半,屏幕的剩余顶部是透明的,并添加了少量 alpha。
其次,View 向上移动手指向上滑动,同时透明部分变得更暗,并且在一个位置联系人名称 (TextView) 开始减小其字体大小。这一直持续到它成为 ActionBar 的一部分。
我对如何实现这个有一些疑问
是联系人详细信息查看单独的activity,顶部透明一半,或者仅覆盖联系人列表屏幕
用手势显示动画的最佳解决方案是什么(用手指滑动改变位置)。
如何通过手指滑动缩小键盘大小以及如何确定现在 TextView 应该开始缩小其字体大小
最后一个是如何通过手指滑动更改使 TextView 成为操作栏的一部分
使用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();
当你的布局中有任何可滚动的小部件(嵌套滚动视图或 RecyclerView)时,它会工作得非常流畅。
有趣的是您可以设置初始内容高度
BottomSheetBehavior mBehavior = BottomSheetBehavior.from((View) view.getParent());
mBehavior.setPeekHeight(dialog height);
我想实现联系人详细信息屏幕,例如 Android 5.0 aka Lollipop。
当我们点击任何联系人的 icon/image 时,为了描述更多,一个视图从屏幕底部向上滑动。默认情况下,此视图占满屏幕的一半,屏幕的剩余顶部是透明的,并添加了少量 alpha。
其次,View 向上移动手指向上滑动,同时透明部分变得更暗,并且在一个位置联系人名称 (TextView) 开始减小其字体大小。这一直持续到它成为 ActionBar 的一部分。
我对如何实现这个有一些疑问
是联系人详细信息查看单独的activity,顶部透明一半,或者仅覆盖联系人列表屏幕
用手势显示动画的最佳解决方案是什么(用手指滑动改变位置)。
如何通过手指滑动缩小键盘大小以及如何确定现在 TextView 应该开始缩小其字体大小
最后一个是如何通过手指滑动更改使 TextView 成为操作栏的一部分
使用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();
当你的布局中有任何可滚动的小部件(嵌套滚动视图或 RecyclerView)时,它会工作得非常流畅。
有趣的是您可以设置初始内容高度
BottomSheetBehavior mBehavior = BottomSheetBehavior.from((View) view.getParent());
mBehavior.setPeekHeight(dialog height);