Android学习笔记技巧之给文本加边框
fmms
13年前
BorderTextViews.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.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
<?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>