我制作了一个Recylerview,并在Element的左下方添加了一个按钮。 现在,当我使用时:
private View.OnTouchListener onWidthClickListener =
new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_MOVE) {
int x = (int) event.getX();
Log.d(TAG, "Width: " + x);
}
return false;
}
};
我获得了滑行器的位置,但它对按钮是绝对的,并且我希望它相对于孔屏幕。
因为它是RecylerView,所以按钮相对于Screen没有固定的位置,因此我不能只添加或减去布局的值。
答案 0 :(得分:1)
如果要相对于设备屏幕左上角的坐标,请使用原始值。
int x = (int)event.getRawX();
int y = (int)event.getRawY();
素蛋白:
getX()
和 getY()
->返回相对于视图的坐标。
MotionEvent.getRawX()
和 MotionEvent.getRawY()
->返回绝对坐标,关于设备的屏幕。
有关更多详细信息:doc
答案 1 :(得分:0)
您可以使用event.getRawX()
和event.getRawY()
获取相对于屏幕的位置。