在android应用程序中绘制矩形

时间:2017-01-31 10:37:50

标签: android

我正在开发一个用于餐厅餐桌预订的Android应用程序。我需要使用坐标绘制动态方块。我曾使用视图类在画布上绘制矩形,但不能使画布矩形可单击。有人可以帮我这个吗?

3 个答案:

答案 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)

我通过绘制位图而不是根据手机的屏幕尺寸来找到解决方案,而是将其绘制到所用布局的大小,在我的情况下是线性布局