BorderTextViews.Java
- packagexiaosi.BorderTextView;
- importandroid.content.Context;
- importandroid.graphics.Canvas;
- importandroid.graphics.Color;
- importandroid.graphics.Paint;
- importandroid.util.AttributeSet;
- importandroid.widget.TextView;
- publicclassBorderTextViewsextendsTextView
- {
- privatePaintpaint=null;
- privateintcolor=Color.GRAY;
- publicBorderTextViews(Contextcontext,AttributeSetattrs)
- {
- super(context,attrs);
- }
- //设置边框颜色
- publicvoidsetPaintColor(intcolor){
- this.color=color;
- }
- @Override
- protectedvoidonDraw(Canvascanvas)
- {
- super.onDraw(canvas);
- paint=newPaint();
- //给边框设置颜色
- 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);
- }
- }
- packagexiaosi.BorderTextView;
- importandroid.app.Activity;
- importandroid.graphics.Color;
- importandroid.os.Bundle;
- publicclassBorderTextViewActivityextendsActivity{
- /**Calledwhentheactivityisfirstcreated.*/
- privateBorderTextViewsborderTextView=null;
- @Override
- publicvoidonCreate(BundlesavedInstanceState){
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
- borderTextView=(BorderTextViews)findViewById(R.id.Border);
- borderTextView.setPaintColor(Color.GRAY);
- }
- }
main.xml
- <?xmlversion="1.0"encoding="utf-8"?>
- <LinearLayoutxmlns: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>