如下的边框:
方法有三个(这三个方法按难度从低到高来排序的):
1:给TextView一个背景,这个背景就是有边框的。
2:定义一个xml文件,在控件中通过background引用:
如下在drawable下定义一个xml文件:
<?xml version="1.0" encoding="UTF-8"?> <!--门店新客的边框--> <shape xmlns:android="http://schemas.android.com/apk/res/android"> <solid android:color="#00000000"/> <stroke android:width="1dp" android:color="#64B847" /> <corners android:radius="2dp"/> </shape>
在控件中引用如下:
<TextView android:layout_width="33dp" android:layout_height="15dp" android:text="限新客" android:textColor="@color/newCustomerLimit" android:textSize="10dp" android:gravity="center" android:background="@drawable/new_customer"/>
3:自己定义一个自定义控件,在onDraw事件方法中画边框,这个知识点要求较高:
public class BorderTextView extends TextView{ public BorderTextView(Context context) { super(context); } public BorderTextView(Context context, AttributeSet attrs) { super(context, attrs); } private int sroke_width = 1; @Override protected void onDraw(Canvas canvas) { Paint paint = new Paint(); // 将边框设为黑色 paint.setColor(android.graphics.Color.BLACK); // 画TextView的4个边 canvas.drawLine(0, 0, this.getWidth() - sroke_width, 0, paint); canvas.drawLine(0, 0, 0, this.getHeight() - sroke_width, paint); canvas.drawLine(this.getWidth() - sroke_width, 0, this.getWidth() - sroke_width, this.getHeight() - sroke_width, paint); canvas.drawLine(0, this.getHeight() - sroke_width, this.getWidth() - sroke_width, this.getHeight() - sroke_width, paint); super.onDraw(canvas); } }这样就完成了我们想要的了,难度成阶梯。