过去几天我一直在网上搜索,但无济于事。我尝试编写类似BottomSheetDialog
的代码,可以向上或向下解除(滑出视图)。
如果这样的视图将从头开始编码,则用例如下:视图填充整个屏幕,可以向上或向下拖动(仅垂直移动)。拖动和释放时,视图应具有速度并相应地保持移动。一旦视图离开屏幕,就会触发回调,指示视图是向上还是向下移动。
我不希望答案交给我。我假设我必须从头开始编写类似这样的代码。我不知道从哪里开始。我可以使用哪些Android组件(ViewDragHelper
等)来创建这样的东西?我只使用OnTouchListener
取得了一些成功,检查MotionEvent.ACTION_MOVE
标记并使用收到的动作事件数据来修改视图LayoutParams
如图所示here。那我怎么谈速度?
答案 0 :(得分:1)
我最终根据@azizbekian的建议修改了格子花呢应用中的BottomSheet。
最值得注意的更改是在computeSettleDuration
方法和clampViewPositionVertical
中找到的ViewDragHelper.Callback
回调中进行的。
让它按预期工作非常容易。可以查看源代码here。