2011-12-23 65 views
1

我已經準備了視圖代碼是一個自定義視圖,如何在自定義視圖中填充描邊文本?

mPaint.setDither(true); 
      mPaint.setColor(0xFFFFFFFF); 
      mPaint.setTextSize(100); 
      mPaint.setStyle(Paint.Style.STROKE); 
      mPaint.setStrokeJoin(Paint.Join.ROUND); 
      mPaint.setStrokeCap(Paint.Cap.ROUND); 
      mPaint.setStrokeWidth(2); 

protected void onDraw(Canvas canvas) { 

      canvas.drawText("Android",100,100,mPaint); 


    } 

結果的看法是,

http://i.imgur.com/hh96q.png

在這裏,我想裏面的 「Android」 的一些顏色填充。我準備了一個更噴漆的對象就是

mAlphaInner.setDither(true); 
     mAlphaInner.setColor(0xFF0000FF); 
     mAlphaInner.setTextSize(98); 

中的onDraw()加入,

canvas.drawText("Android",100,100,mPaint); 

,但觀點是,

http://i.imgur.com/BtD3G.png

請幫助我如何填補「Android」內部的顏色。

+0

您是否使用FILL_AND_STROKE檢查了以下答案?結果是什麼 ? – 2011-12-23 09:35:14

回答

0

如果你想嘗試mPaint.setStyle(Pain.Style.FILL_AND_STROKE)

編輯:

忘記Paint.setTextAlign(Paint.Align.CENTER)在這兩個油漆

+0

如果我嘗試用白色填充mPaint.setStyle(Paint.Style.FILL_AND_STROKE),但我想用不同的顏色填充。 – 2011-12-23 09:37:40

+0

查看更新 – teoREtik 2011-12-23 09:44:00

+0

您正在使用白色。 mPaint.setColor(0xFFFFFFFF的);檢查一下 – 2011-12-23 09:47:06

0

繪製文本兩次,使用兩種不同的模式。

 mPaint.setDither(true); 
     mPaint.setColor(0xFFFFFFFF); 
     mPaint.setTextSize(100); 
     mPaint.setStyle(Paint.Style.STROKE); 
     mPaint.setStrokeJoin(Paint.Join.ROUND); 
     mPaint.setStrokeCap(Paint.Cap.ROUND); 
     mPaint.setStrokeWidth(2); 

     mAlphaInner.set(mPaint); //Set the same text size! 
     mAlphaInner.setColor(0xFF0000FF); 
     mAlphaInner.setStyle(Paint.Style.FILL_AND_STROKE); 

    protected void onDraw(Canvas canvas) { 
     canvas.drawText("Android",100,100,mAlphaInner); 
     canvas.drawText("Android",100,100,mPaint); 
    } 
相關問題