2014-02-19 3 views
0

У меня есть список объектов пути, которые являются прямоугольниками, хранящимися в arraylist.android: Рисование прямоугольника или овала в зависимости от высоты

Это мой код, как показано ниже:

for (RectF rec : rects) { 

     for(int i =0; i< rects.size(); i++){ 

      System.out.println(rects.get(i).height() + "g"); 
      while(rects.get(i).height() !=50){ 

       canvas.drawRect(rec, paint); 
      } 
       canvas.drawOval(rec, paint); 

      } 

    } 

В основном, когда высота прямоугольника не равна 50, я хотел бы нарисовать овал вместо прямоугольника. После запуска кода выше были отображены как овал, так и прямоугольник. Что здесь не так? Пожалуйста, помогите поблагодарить вас.

+0

Почему вы создаете цикл for и while? сделайте простой, если еще –

ответ

0
for (RectF rec : rects) { 
    System.out.println(rec.height() + "g"); 

    if(rec.height() != 50) 
    { 
     canvas.drawOval(rec, paint); 
    } 
    else 
    { 
     canvas.drawRect(rec, paint); 
    } 
} 
+0

@ Карум Варела благодарит вас за помощь! Работает! – user3306996

+0

@Karum Varela в настоящее время, я хочу, чтобы drawText на вершине каждого объекта path.I попытался, но текст появляется только на одном объекте пути. как я могу его кодировать? Я обновил код выше. Кроме того, если я хочу дать индекс имени имени, как мне это сделать? – user3306996

+0

Если у вас есть новая проблема, вы должны начать новый вопрос и включить код, который вы пробовали. Ура! –