2011-04-04 15 views
0

我正在實現一個包含文本的自定義視圖,文本將在onDraw中繪製。設置包含文本的自定義視圖的樣式或字體,如默認的TextView?

我的問題是,我希望我的文字會看起來像那些在TextView的對象,但我真的沒有放棄熟悉設立風格和字體。

文本最後用我的全新噴漆的對象繪製,看起來不同的TextView:線條看起來更薄,似乎被一些昆蟲咬傷...... - -b。我希望我的文本將像這些TextView對象一樣繪製。

Plz help!

====================
換句話說問題:

在擴展視圖自定義視圖,我稱之爲mPaint.drawText在onDraw方法,用一個新的Paint對象mPaint。但是,繪製的文本看起來與默認的TextView不同,線條更細且不光滑(就像被某些昆蟲咬傷一樣)。我只是希望它和TextView一樣。

回答

0

您可以創建通過擴展的TextView作爲父視圖自定義視圖。通過這樣做,您將獲得textView擁有的所有默認功能,並且您可以根據需要添加其他自定義功能。

+0

我只是希望獲得外觀爲TextView的一樣,我該怎麼辦呢?由於我創建了一個Paint對象,並用它來繪製線條看起來很細且不光滑但被昆蟲咬住的文本。 – Lyn 2011-04-04 12:54:36

+0

不,我有其他元素像圖像(圖標),我想我不應該只是擴展TextView。 – Lyn 2011-04-04 12:55:38

+0

對不起,但現場是:我''創建了一個擴展視圖的自定義小部件。它包含混合文本和小圖像,如「你好(微笑)世界」,並且「笑臉」將被替換成一個表情符號。我已經完成了解析原始文本,剪切文字,佈局和繪製文本的所有任務和圖標。但是由於我對Android的圖形部分不太熟悉,我只是新建一個Paint對象並調用drawText。問題在這裏:我希望繪製的文本與TextView具有相同的外觀,但外觀不同:這些字符的線條較薄,而且不像昆蟲那樣平滑。 – Lyn 2011-04-04 13:27:01

1
public class CustomText extends TextView { 
public CustomText(Context context, AttributeSet attrs, int defStyle) { 
    super(context, attrs, defStyle); 
    // TODO Auto-generated constructor stub 
    Typeface typeface = Typeface.createFromAsset(context.getAssets(), 
    "fonts/your_font.ttf"); 
    setTypeface(typeface); 

} 

public CustomText(Context context, AttributeSet attrs) { 
    super(context, attrs); 
    // TODO Auto-generated constructor stub 
    Typeface typeface = Typeface.createFromAsset(context.getAssets(), 
    "fonts/fonts/your_font.ttf"); 
    setTypeface(typeface); 

} 

public CustomText(Context context) { 
    super(context); 
    // TODO Auto-generated constructor stub 
Typeface typeface = Typeface.createFromAsset(context.getAssets(), 
"fonts/fonts/your_font.ttf"); 
setTypeface(typeface); 
    } 

} 

現在在您的類/ xml中使用CustomText

希望這會幫助你。

+0

我沒有自己的ttf,我只是想獲得與TextView相同的外觀,我該怎麼做?由於我創建了一個Paint對象,並用它來繪製線條看起來很細且不光滑但被昆蟲咬住的文本。 – Lyn 2011-04-04 12:54:17

+0

'我只是希望獲得與TextView相同的外觀,那麼爲什麼不使用默認的'TextView'?你能澄清你的需求嗎? – 2011-04-04 13:00:37

+0

對不起,但現場是:我''創建了一個擴展視圖的自定義小部件。它包含混合文本和小圖像,如「你好(微笑)世界」,並且「笑臉」將被替換成一個表情符號。我已經完成了解析原始文本,剪切文字,佈局和繪製文本的所有任務和圖標。但是由於我對Android的圖形部分不太熟悉,我只是新建一個Paint對象並調用drawText。問題在這裏:我希望繪製的文本與TextView具有相同的外觀,但外觀不同:這些字符的線條較薄,而且不像昆蟲那樣平滑。 – Lyn 2011-04-04 13:21:26

相關問題