android 设置textview 边框
16lz
2021-01-23
1.在drawable下面定义一个名字为border.xml的shape.
<?xml version="1.0" encoding="utf-8"?><shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" > <!-- set the background color and can remove --> <solid android:color="#ffffff" /> <!-- set the border color and width --> <stroke android:width="2dip" android:color="#000000" /></shape>
在布局文件或者代码中设置使用方式:
android:background="@drawable/border"
textView.setBackgroundDrawable(getResources().getDrawable(R.drawable.border));
2.自定义TextView
package com.example.test;import android.annotation.SuppressLint;import android.content.Context;import android.graphics.Canvas;import android.graphics.Paint;import android.util.AttributeSet;import android.widget.TextView;@SuppressLint("DrawAllocation")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;@Overrideprotected void onDraw(Canvas canvas) {Paint paint = new Paint(); // set border color is black paint.setColor(android.graphics.Color.BLACK); // draw TextView border 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);}}
转载:http://blog.csdn.net/jwzhangjie/article/details/9404823
更多相关文章
- android中自定义attr,以及style杂谈
- Android 的自定义Spinner组件实现方式
- Android 布局之RelativeLayout
- 实习杂记(20)---Android里面shape定义图形相关属性
- Android中为窗口定义主题
- Android:LayoutAnimation、布局动画
- Android 笔记一:线性布局
- 安卓中的布局属性详解
- Android 相对布局常用属性