gpt4 book ai didi

android - 如何以编程方式在android中自动执行触摸

转载 作者:行者123 更新时间:2023-12-05 00:22:04 24 4
gpt4 key购买 nike

我有一个 RelativeLayout 我想在不触摸屏幕的情况下执行触摸事件 如果它确实被触摸或没有触摸,我想给出一个 Toast 消息。请抛出我有尝试了以下似乎不起作用

MotionEvent event = MotionEvent.obtain(downTime, eventTime, action, 
x, y, pressure, size,
metaState, xPrecision, yPrecision,
deviceId, edgeFlags);
onTouchEvent(event);

最佳答案

你不应该那样做。如果你确实想以编程方式“触摸”你的 View ,你应该将你的 onTouch 方法中发生的任何事情包装在另一个函数中(没有 MotionEvent 参数)并在你想要触摸你的 View 时调用该函数。在没有真正触摸的情况下调用 onTouch 会给你带来负面的风格点

@Override
boolean onTouch(View v, MotionEvent me) {
return action(me.getX(),me.getY());
}

boolean action(int x, int y) {
//do some stuff
}

void somewhereelse() {
//Perform touch action
action(0,0);
}

如果您真的想“发送”触摸事件。你这样做:

View v;
v.dispatchTouchEvent(MotionEvent.obtain(0,0,MotionEvent.ACTION_DOWN, 100,100,0.5f,5,0,1,1,0,0));

这些值非常随机。只有 deviceId=0 表示它是通过编程方式调度的 Touch。

关于android - 如何以编程方式在android中自动执行触摸,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28498079/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com