Welcome 微信登录

首页 / 操作系统 / Linux / Android开发之自定义带边框的TextView

自定义带边框的TextView///////////////////////Activity///////////////////////////////package cn.class3g.activity; import Android.content.Context;import android.graphics.Canvas;import android.graphics.Paint;import android.util.AttributeSet;import android.widget.TextView; public class MyBorderTextView extends TextView{       public MyBorderTextView(Context context, AttributeSet attrs) {           super(context, attrs);                 }      @Override      protected void onDraw(Canvas canvas) {           super.onDraw(canvas);                      Paint paint = new Paint();                      paint.setColor(android.graphics.Color.YELLOW);                       canvas.drawLine(0, 0, this.getWidth()-1, 0, paint);//1、横坐标0到this.getWidth()-1,纵坐标0到0           canvas.drawLine(0, 0, 0, this.getHeight()-1, paint);//2、横坐标0到0,纵坐标0到this.getHeight()-1           canvas.drawLine(this.getWidth()-1, 0, this.getWidth()-1, this.getHeight()-1, paint);//3、横坐标this.getWidth()-1到this.getWidth()-1,纵坐标0到this.getHeight()-1           canvas.drawLine(0, this.getHeight()-1, this.getWidth()-1, this.getHeight()-1, paint);//4、横坐标0到this.getWidth()-1,纵坐标this.getHeight()-1到this.getHeight()-1//下面用图介绍边框的绘制      } }
1
this.getWidth,this.getHeight
0,this.getHeight
this.getWidth()-1,0
0,0
边框的绘制
3
4
2
   
然后只需要在布局里调用这个就行<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:orientation="vertical" >     <cn.class3g.activity.MyBorderTextView        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_margin="10dp"        android:padding="30dp"        android:text="hello"        android:textColor="#cccccc" >    </cn.class3g.activity.MyBorderTextView>     <TextView        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_margin="10dp"        android:padding="30dp"        android:text="hello hello hello hello"        android:background="@drawable/ic_launcher"        android:textColor="#cccccc" >    </TextView> </LinearLayout>效果图: