我正在开发一个用于餐厅餐桌预订的Android应用程序。我需要使用坐标绘制动态方块。我曾使用视图类在画布上绘制矩形,但不能使画布矩形可单击。有人可以帮我这个吗?
答案 0 :(得分:0)
你不应该为此目的使用canvas,而是使用android的内置视图并动态创建它。
例如:
LinearLayout layout = (LinearLayout)findViewById(R.id.imageLayout);
while(condition)
{
ImageView image = new ImageView(this);
//set image properties
layout.addView(image);
}
答案 1 :(得分:0)
如果矩形在应用上有特定网站,您可以使用:
Display display;
int width;
int width_perc;
int height;
int height_perc;
//INIT
display = ((WindowManager) getApplicationContext().getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay();
width = display.getWidth();
width_perc = width/100;
height = display.getHeight();
height_perc = height/100;
relativeL.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
int X = (int) event.getX();
int Y = (int) event.getY();
if((X < (width_perc*95))&&(X > (width_perc*60))){
if((Y < (height_perc*30))&&(Y > (height_perc*5))){
accessCalendar();
}
}
return false;
}
});
答案 2 :(得分:0)
我通过绘制位图而不是根据手机的屏幕尺寸来找到解决方案,而是将其绘制到所用布局的大小,在我的情况下是线性布局