在Android中,为TextView组件画边框,效果图及实现如下。
package com.focus.fishme;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Paint;
import android.widget.TextView;
public class FishMeTextView extends TextView {
public FishMeTextView(Context context) {
super(context);
}
@Override
protected void onDraw(Canvas canvas)
{
super.onDraw(canvas);
Paint paint = new Paint();
// 将边框设为黑色.
paint.setColor(android.graphics.Color.RED);
// 画TextView的4个边.
canvas.drawLine(0, 0, this.getWidth() - 1, 0, paint);
canvas.drawLine(0, 0, 0, this.getHeight() - 1, paint);
canvas.drawLine(this.getWidth() - 1, 0, this.getWidth() - 1, this.getHeight() - 1, paint);
canvas.drawLine(0, this.getHeight() - 1, this.getWidth() - 1, this.getHeight() - 1, paint);
}
}
使用:
package com.focus.fishme;
import android.app.Activity;
import android.os.Bundle;
import android.widget.LinearLayout;
public class BorderLineActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
FishMeTextView fishMeTextView = new FishMeTextView(this);
fishMeTextView.setText("马英才");
fishMeTextView.setWidth(100);
fishMeTextView.setHeight(100);
LinearLayout main = (LinearLayout) findViewById(R.id.main);
main.addView(fishMeTextView);
}
}