Android学习笔记技巧之给文本加边框
2732 点击·0 回帖
![]() | ![]() | |
![]() | 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> | |
![]() | ![]() |