灯火互联
管理员
管理员
  • 注册日期2011-07-27
  • 发帖数41778
  • QQ
  • 火币41290枚
  • 粉丝1086
  • 关注100
  • 终身成就奖
  • 最爱沙发
  • 忠实会员
  • 灌水天才奖
  • 贴图大师奖
  • 原创先锋奖
  • 特殊贡献奖
  • 宣传大使奖
  • 优秀斑竹奖
  • 社区明星
阅读:2248回复:0

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

楼主#
更多 发布于:2012-09-06 13:44

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>


喜欢0 评分0
游客

返回顶部