问题描述
|
我正在android上创建一个简单的游戏,您被告知要触摸屏幕的某个部分。我的主要问题是,是否可以将屏幕分成四个象限,并识别何时触摸了象限?还是在我想要的象限中有4个大按钮会更容易吗?我是android编程的新手(只喜欢2 1/2周),但是在那2 1/2周中我学到了很多东西。
如果你们觉得如果我只使用4个大按钮会更简单,那么请告诉我。
谢谢!
解决方法
您可以获得触摸事件的x,y坐标,并且可以轻松获取View的宽度和高度,因此您可以逻辑上自己划分为多个象限。就是说,如果您不必执行任何自定义图形或UI,并且只需要按下四个区域,那么使用四个按钮就没有问题。
, 不确定这是否是您要找的答案...您是否查看过片段
, 差不多十年后,这就是我在Xamarin.Android中的GestureListener中所做的
public class GestureListener : Java.Lang.Object,IOnTouchListener
{
public bool OnTouch(View v,MotionEvent e)
{
var xCenter = v.MeasuredWidth / 2;
var yCenter = v.MeasuredHeight / 2;
if (e.Action == MotionEventActions.Down)
{
float xTouch = 0;
float yTouch = 0;
xTouch = (e.GetX() - xCenter);
yTouch = yCenter - e.GetY();
Console.WriteLine(\"x: \" + xTouch + \" y: \" + yTouch);
}
return true;
}
}