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