天天看點

Android TextView 字型描邊效果代碼



類繼承TextView,重寫ondraw函數。無需額外的textview做背景。以下為修改的diff檔案。

Index: ***Activity.java

===================================================================

--- ***Activity.java (revision 1035)

+++ ***Activity.java (revision 1036)

@@ -22,11 +22,14 @@

 import android.graphics.Bitmap;

 import android.graphics.BitmapFactory;

 import android.graphics.Canvas;

+import android.graphics.Color;

 import android.graphics.Rect;

 import android.graphics.Typeface;

 import android.graphics.drawable.AnimationDrawable;

 import android.os.Bundle;

 import android.os.Handler;

+import android.graphics.Paint;

+import android.text.TextPaint;

 import android.util.Log;

 import android.util.TypedValue;

 import android.view.MotionEvent;

@@ -117,8 +120,21 @@

    // TODO Auto-generated constructor stub

   }

   @Override

-  protected void onDraw(Canvas canvas) {

+  protected void onDraw(Canvas canvas) { 

+      //liyingzhe,  添加橫版textview的描邊。 

+       this.setTextColor(Color.WHITE);

+       TextPaint tp = this.getPaint();

+       tp.setStrokeWidth(4);

+       tp.setStyle(Paint.Style.FILL_AND_STROKE );

+       tp.setColor(Color.WHITE);

+

        super.onDraw(canvas);

+       tp.setColor(Color.BLACK);

+       tp.setStyle(Paint.Style.FILL);

+       this.setTextColor(Color.BLACK);

+

+       super.onDraw(canvas);

+   

   }