為你的TextView新增一個邊框的幾種辦法
阿新 • • 發佈:2019-01-09
方法一:
比較土 ,加背景圖片,透明的帶邊框的背景圖片
設定到android:background就可以
方法二:¸建立一個 shape 設定到android:background就可以
<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="#00000000"/>
<stroke android:width="2dip" android:color="#ff000000" />
</shape>
方法三:
編寫一個繼承TextView類的自定義元件,並在onDraw事件方法中畫邊框。
然後 在佈局檔案 中 使用 自定義 textview 即可
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);
}
}
比較土 ,加背景圖片,透明的帶邊框的背景圖片
設定到android:background就可以
方法二:¸建立一個 shape 設定到android:background就可以
<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="#00000000"/>
<stroke android:width="2dip" android:color="#ff000000" />
</shape>
方法三:
編寫一個繼承TextView類的自定義元件,並在onDraw事件方法中畫邊框。
然後 在佈局檔案 中 使用 自定義 textview 即可
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);
}
}