如何实现联系人详细信息屏幕,如Lollipop

时间:2015-04-21 14:28:40

标签: android animation android-animation android-5.0-lollipop gesture

我想实现联系人详细信息屏幕,例如Android 5.0又名Lollipop。

要在我们点击任何联系人的图标/图片时进行更多描述,请从屏幕底部向上滑动一个视图。默认情况下,此视图填充屏幕的一半,剩余的屏幕顶部是透明的,几乎没有添加alpha。

其次,View向上改变其位置,用手指向上滑动,透明部分变得更暗,在一个位置接触名称(TextView)开始减小其字体大小。这一直持续到它成为ActionBar的一部分。

我对如何实现此

有一些疑问
  1. 联系人详细信息查看顶部透明半部分的单独活动,或仅覆盖联系人列表屏幕

  2. 用手势显示动画的最佳解决方案是什么(用手指滑动改变位置)。

  3. 如何通过手指滑动缩小键盘大小以及如何确定TextView现在应该开始缩小其字体大小

  4. 最后一个是如何通过手指滑动更改将TextView作为操作栏的一部分

1 个答案:

答案 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);