android开发,像这样一个,中间一个园,周围四个扇形的方向键。和一般遥控器上的形状相似的。新手请教实现的方法和思路。
解决方案
20
五张图,判断手触摸的位置,实现用户反馈,本人做过电视游戏的手机客户端! 支持遥控,手柄,键盘,鼠标操作等~
40
1.计算出5个按钮的各自在屏幕中的具体区域(大小和位置坐标)
2.获得你手指触碰屏幕的坐标
3.根据你所触碰的坐标能否包含在按钮所在的区域内,来判断能否点击了该按钮,并实现对应的操作
@Override
public boolean onTouchEvent(MotionEvent event) {
// TODO Auto-generated method stub
if(event.getAction()==MotionEvent.ACTION_UP){
//获得手指触碰的坐标
int eventX = (int)event.getRawX();
int eventY = (int)event.getRawY();
//建立一个矩形区域,表示某个按钮所在的范围
Rect rect = new Rect();
//获得某个按钮在屏幕中所处的矩形区域,赋给rect
btn.getGlobalVisibleRect(rect);
//假如触碰的点属于rect(即这个按钮所在的范围)就实现对应的操作
if(rect.contains(eventX,eventY)){
//这里写你本人想实现的操作
}
}
return super.onTouchEvent(event);
}
2.获得你手指触碰屏幕的坐标
3.根据你所触碰的坐标能否包含在按钮所在的区域内,来判断能否点击了该按钮,并实现对应的操作
@Override
public boolean onTouchEvent(MotionEvent event) {
// TODO Auto-generated method stub
if(event.getAction()==MotionEvent.ACTION_UP){
//获得手指触碰的坐标
int eventX = (int)event.getRawX();
int eventY = (int)event.getRawY();
//建立一个矩形区域,表示某个按钮所在的范围
Rect rect = new Rect();
//获得某个按钮在屏幕中所处的矩形区域,赋给rect
btn.getGlobalVisibleRect(rect);
//假如触碰的点属于rect(即这个按钮所在的范围)就实现对应的操作
if(rect.contains(eventX,eventY)){
//这里写你本人想实现的操作
}
}
return super.onTouchEvent(event);
}