2013-07-26 20 views
12

W mojej aplikacji rysuję tekst na Androida Canvas;Jak narysować kursywę na kanwie Androida?

Teraz do obsługi underline i bold Korzystam z pomocy obiektu farby;

Paint paint = new Paint(); 

paint.setUnderlineText(true); 
paint.setFakeBoldText(true); 

paint.setColor(color); 
paint.setTextSize (font_size); 
canvas_obj.drawText(text,x,y,paint); 

Za pomocą tego kodu otrzymuję pogrubiony i podkreślony tekst;

Chciałbym również, aby italic,

Zajmuję aplikację na Android 2.2 roku.

jak to zrobić?

Edit:

mam ustawienia kroju czcionki obiektu utworzonego z zewnętrznego pliku czcionki do wsparcia czcionki zewnętrznego; Dla Kursywa Używam następujący kod

paint.setTypeface(Typeface.create(external_font_type_face,Typeface.ITALIC)); 

To również nie działa, Testowane na Samsung Galaxy Ace (Android 2.2)

Odpowiedz

22

Można użyć tej metody:

paint.setTypeface(Typeface.create(Typeface.DEFAULT, Typeface.ITALIC)); 

To działa dla mnie .

+0

jestem już za pomocą obiektu Typeface (utworzony z zewnętrznego pliku czcionki, farby); Zajmuję się tworzeniem aplikacji dla Androida 2.2 i później –

+0

@Swarnendu Typeface został zaimplementowany w systemie Android 1.5 – TN888

+0

@ Ty221 Niestety to nie działa, ustawienie kroju pisma do malowania obiektu polega na zamianie wcześniej ustawionego obiektu typu typrface na obiekt malowania (który został ustawiony na obsługę zewnętrznej czcionki); więc nie dostaję zewnętrznego wsparcia czcionek ani tekstu kursywy z domyślną czcionką .. :-( –

0

Użyj tego:

paint.setTextSkewX(-0.25f); 
+1

Ten fragment kodu może rozwiązać pytanie, [w tym wyjaśnienie ] (http://meta.stackexchange.com/questions/114762/explaining-entirely-code-ans -answers) naprawdę pomaga poprawić jakość twojego postu. Pamiętaj, że odpowiadasz na pytanie dla czytelników w przyszłości, i te osoby mogą nie znać przyczyn sugestii kodu. – Isma

Powiązane problemy