Android学习笔记技巧之给文本加边框

来源:互联网 发布:手机行程软件 编辑:程序博客网 时间:2024/06/06 11:05
BorderTextViews.java
 
[java] package xiaosi.BorderTextView;
 
 import android.content.Context;
 import android.graphics.Canvas;
 import android.graphics.Color;
 import android.graphics.Paint;
 import android.util.AttributeSet;
 import android.widget.TextView;
 
 public class BorderTextViews extends TextView
 {
     private Paint paint = null;
     private int color = Color.GRAY;
     public BorderTextViews(Context context, AttributeSet attrs)
     {
         super(context, attrs);
     }
     //设置边框颜色 
     public void setPaintColor(int color){
         this.color = color;
     }
     @Override
     protected void onDraw(Canvas canvas)
     {
         super.onDraw(canvas);
         paint = new Paint();
         //给边框设置颜色 
         paint.setColor(color);
         //上 
         canvas.drawLine(0, 0, this.getWidth()-1, 0, paint);
         //左 
         canvas.drawLine(0, 0, 0, this.getHeight()-1, paint);
         //下 
         canvas.drawLine(0, this.getHeight()-1, this.getWidth()-1, this.getHeight()-1, paint);
         //右 
         canvas.drawLine(this.getWidth()-1, 0, this.getWidth()-1, this.getHeight()-1, paint);
     }
 }
 package xiaosi.BorderTextView;
 
import android.content.Context;
 import android.graphics.Canvas;
 import android.graphics.Color;
 import android.graphics.Paint;
 import android.util.AttributeSet;
 import android.widget.TextView;
 
public class BorderTextViews extends TextView
 {
  private Paint paint = null;
  private int color = Color.GRAY;
  public BorderTextViews(Context context, AttributeSet attrs)
  {
   super(context, attrs);
  }
     //设置边框颜色
  public void setPaintColor(int color){
   this.color = color;
  }
  @Override
  protected void onDraw(Canvas canvas)
  {
   super.onDraw(canvas);
   paint = new Paint();
   //给边框设置颜色
   paint.setColor(color);
   //上
   canvas.drawLine(0, 0, this.getWidth()-1, 0, paint);
   //左
   canvas.drawLine(0, 0, 0, this.getHeight()-1, paint);
   //下
   canvas.drawLine(0, this.getHeight()-1, this.getWidth()-1, this.getHeight()-1, paint);
   //右
   canvas.drawLine(this.getWidth()-1, 0, this.getWidth()-1, this.getHeight()-1, paint);
  }
 }
 
 
[java] package xiaosi.BorderTextView;
 
 import android.app.Activity;
 import android.graphics.Color;
 import android.os.Bundle;
 
 public class BorderTextViewActivity extends Activity {
     /** Called when the activity is first created. */
     private BorderTextViews borderTextView = null;
     @Override
     public void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         setContentView(R.layout.main);
         borderTextView = (BorderTextViews)findViewById(R.id.Border);
         borderTextView.setPaintColor(Color.GRAY);
     }
 }
 package xiaosi.BorderTextView;
 
import android.app.Activity;
 import android.graphics.Color;
 import android.os.Bundle;
 
public class BorderTextViewActivity extends Activity {
     /** Called when the activity is first created. */
  private BorderTextViews borderTextView = null;
     @Override
     public void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         setContentView(R.layout.main);
         borderTextView = (BorderTextViews)findViewById(R.id.Border);
         borderTextView.setPaintColor(Color.GRAY);
     }
 }
 
 
 
main.xml
 
[java] <?xml version="1.0" encoding="utf-8"?>
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="fill_parent"
     android:layout_height="fill_parent"
     android:orientation="vertical" 
     android:background="#CCFF66">
 
     <xiaosi.BorderTextView.BorderTextViews
         android:id="@+id/Border"
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content"
         android:textColor="#C71585" 
         android:layout_marginTop="20dp"
         android:padding="10dp" 
         android:layout_gravity="center" 
         android:text="在画布上画边框" />
 
 </LinearLayout>