Android 如何制作从底部出现的布局?
How to make a layout that appear from bottom in Android?
我要详细查看。单击对象时,底部会出现详细布局。
可以通过触摸布局上的任意位置来移动布局。
我使用了一些代码,它不能正常工作。
当我触摸布局时,布局的顶部出现在触摸点的底部。另外,触摸点和布局顶部之间有一些边距
示例图片说明了我的意思。它是地图应用程序“2gis”
mLinearLayout.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View view, MotionEvent event) {
CoordinatorLayout.LayoutParams params = (CoordinatorLayout.LayoutParams) view.getLayoutParams();
if (view.getId() != R.id.bottomPanel) return false;
switch (event.getAction())
{
case MotionEvent.ACTION_MOVE:
params.topMargin = (int)event.getRawY();
view.setLayoutParams(params);
break;
case MotionEvent.ACTION_UP:
view.setLayoutParams(params);
break;
case MotionEvent.ACTION_DOWN:
break;
}
return true;
}
});
您要找的是 material 设计中的 Bottom sheet。
它包含在 Android 设计支持库 v23.2.+.
中
您需要做的就是将容器视图的layout_behavior
设置为BottomSheetBehavior
:
app:layout_behavior="android.support.design.widget.BottomSheetBehavior"
这里有一些关于如何在 Android 中实现底部 sheet 的不错的教程:
这是 android 功能底部 sheet。
您可以使用底部 sheet 这个设计库。
compile 'com.android.support:design:23.2.0'
这里有一些教程,可以帮助你开发。
我要详细查看。单击对象时,底部会出现详细布局。 可以通过触摸布局上的任意位置来移动布局。
我使用了一些代码,它不能正常工作。 当我触摸布局时,布局的顶部出现在触摸点的底部。另外,触摸点和布局顶部之间有一些边距
示例图片说明了我的意思。它是地图应用程序“2gis”
mLinearLayout.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View view, MotionEvent event) {
CoordinatorLayout.LayoutParams params = (CoordinatorLayout.LayoutParams) view.getLayoutParams();
if (view.getId() != R.id.bottomPanel) return false;
switch (event.getAction())
{
case MotionEvent.ACTION_MOVE:
params.topMargin = (int)event.getRawY();
view.setLayoutParams(params);
break;
case MotionEvent.ACTION_UP:
view.setLayoutParams(params);
break;
case MotionEvent.ACTION_DOWN:
break;
}
return true;
}
});
您要找的是 material 设计中的 Bottom sheet。 它包含在 Android 设计支持库 v23.2.+.
中您需要做的就是将容器视图的layout_behavior
设置为BottomSheetBehavior
:
app:layout_behavior="android.support.design.widget.BottomSheetBehavior"
这里有一些关于如何在 Android 中实现底部 sheet 的不错的教程:
这是 android 功能底部 sheet。
您可以使用底部 sheet 这个设计库。
compile 'com.android.support:design:23.2.0'
这里有一些教程,可以帮助你开发。