2013-06-25 5 views
0

Почему прямоугольник не показан, когда я использовал drawRect() на объекте холста, , а также объявил его внутри метода WithCreate.Почему прямоугольник не показан, когда я использовал drawRect()?

Код

@Override 
public void onCreate(Bundle savedInstanceState) 
{ 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activitymain); 
    Chronometer stopWatch = (Chronometer)findViewById(R.id.chrono); 
    mDrawingActivity = (DrawingActivity)findViewById(R.id.the_canvas); 
    Button b = (Button)findViewById(R.id.startButton); 
    b.setText("start"); 
    b.setOnClickListener(this); 
} 

OnDraw() Метод

protected void onDraw(Canvas Square) 
    { 
     super.onDraw(Square); 
      Paint squareColor = new Paint(); 
      squareColor.setColor(Color.CYAN); // change the box color to cyan 
     Square.drawRect(100,100,100,100, squareColor); 
return; 
    } 

Разъяснение: Даже кнопка и хронометр не показаны также и программа принудительно закрыта.

+5

Просьба также указать код, в котором вы рисуете прямоугольник – Dimmerg

+0

Просто прочитайте в документе, что означают параметры 'right' и' bottom' of 'Canvas.drawRect()' –

ответ

7

Вы рисуете прямоугольник точки. Изменения линии

Square.drawRect(100,100,100,100, squareColor); 

в

Square.drawRect(100, 100, 200, 200, squareColor) 

Вот определение из дока.

drawRect(float left, float top, float right, float bottom, Paint paint) 

Нарисуйте указанный Rect с использованием указанной краски. Прямоугольник будет заполнен или обрамлен на основе стиля в краске.

Параметры покинули левую сторону прямоугольника, который можно сделать сверху Верхняя сторона прямоугольника, который можно сделать правый правая сторона прямоугольника быть нарисованный дно Нижняя сторона прямоугольника, который можно сделать краска Краска, используемая для рисования прямоугольника

Смежные вопросы