【问题标题】:How to set layout params using view's on touch listener?如何使用视图的触摸监听器设置布局参数?
【发布时间】:2014-11-25 15:49:05
【问题描述】:
【问题讨论】:
标签:
android
view
ontouchlistener
touch-event
layoutparams
【解决方案1】:
像这样检查:
setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
((LayoutParams)slidingLayout.getLayoutParams()).marginTop=event.getY();
return true;
}
}
整个父视图的监听器
编辑:
哦,我的阅读能力真的很差,我假设你想通过触摸蓝色小视图来摆脱这个视图......
所以首先您必须计算此视图中的触摸位置 (ACTION_DOWN) - 高于底部多少 - 这将是您的起点,即所谓的“0”。然后当 ACTION_MOVE 使用 event.getY() 和先前计算的设置 marginTop 的起点(或 setY() 如果 API 允许)。对于 ACTION_UP,您可能会识别出整个布局是否被拖出,如果没有,您可能会设置 marginTop 固定值 wholeViewHeight - draggedViewDesiredHeight