2014-12-28 2 views
0

Я пытаюсь сделать приложение, которое может написать что-то на изображении, но проблема в том, что я не знаю, как закончить слова или скрыть переполнение текста, который пользовательский тип ... если вы видите на картинке ниже, вы можете увидеть, что некоторые слова идут скрытые из-за отсутствия endpoint..i нужно сделать конечную точку в белом фонеКак установить конечную точку для canvas.drawtext?

image

это часть кода, который я использовал

//Rasme mahale bargozari rooye aks 
    Paint paintMahal = new Paint(); 
    paintMahal.setColor(Color.BLACK); 
    paintMahal.setAntiAlias(true); 
    paintMahal.setTypeface(tf); 
    paintMahal.setTextSize(20); 


    Rect areaRect = new Rect(0, 0, 300, 100); 
    Paint rec = new Paint(); 
    rec.setColor(Color.BLACK); 

    RectF bounds = new RectF(areaRect); 
    // measure text width 
    bounds.right = rec.measureText(agahi, 0, agahi.length()); 
    // measure text height 
    bounds.bottom = rec.descent() - rec.ascent(); 

    bounds.left =57; 
    bounds.top = 374; 
    canvas.drawText(agahi, bounds.left, bounds.top - rec.ascent(), rec); 
    //sakhte akse karbar 
+0

см. StaticLayout class – pskink

+0

@pskink Класс макета не поможет рисованию на холсте. –

+0

@GabeSechan, конечно, это будет: см. Метод рисования (Canvas), TextView использует этот метод для рисования текста – pskink

ответ

0

Установите вырезанной на холсте , Холст можно рисовать только в области отсечения, что-либо снаружи становится не-op. Затем удалите область отсечения, когда закончите, и нарисуйте как обычно.