Android学习笔记技巧之给文本加边框
BorderTextViews.java
[java] package xiaosi.BorderTextView;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.util.AttributeSet;
import android.widget.TextView;
public class BorderTextViews extends TextView
{
private Paint paint = null;
private int color = Color.GRAY;
public BorderTextViews(Context context, AttributeSet attrs)
{
super(context, attrs);
}
//设置边框颜色
public void setPaintColor(int color){
this.color = color;
}
@Override
protected void onDraw(Canvas canvas)
{
super.onDraw(canvas);
paint = new Paint();
//给边框设置颜色
paint.setColor(color);
//上
canvas.drawLine(0, 0, this.getWidth()-1, 0, paint);
//左
canvas.drawLine(0, 0, 0, this.getHeight()-1, paint);
//下
canvas.drawLine(0, this.getHeight()-1, this.getWidth()-1, this.getHeight()-1, paint);
//右
canvas.drawLine(this.getWidth()-1, 0, this.getWidth()-1, this.getHeight()-1, paint);
}
}
package xiaosi.BorderTextView;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.util.AttributeSet;
import android.widget.TextView;
public class BorderTextViews extends TextView
{
private Paint paint = null;
private int color = Color.GRAY;
public BorderTextViews(Context context, AttributeSet attrs)
{
super(context, attrs);
}
//设置边框颜色
public void setPaintColor(int color){
this.color = color;
}
@Override
protected void onDraw(Canvas canvas)
{
super.onDraw(canvas);
paint = new Paint();
//给边框设置颜色
paint.setColor(color);
//上
canvas.drawLine(0, 0, this.getWidth()-1, 0, paint);
//左
canvas.drawLine(0, 0, 0, this.getHeight()-1, paint);
//下
canvas.drawLine(0, this.getHeight()-1, this.getWidth()-1, this.getHeight()-1, paint);
//右
canvas.drawLine(this.getWidth()-1, 0, this.getWidth()-1, this.getHeight()-1, paint);
}
}
[java] package xiaosi.BorderTextView;
import android.app.Activity;
import android.graphics.Color;
import android.os.Bundle;
public class BorderTextViewActivity extends Activity {
/** Called when the activity is first created. */
private BorderTextViews borderTextView = null;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
borderTextView = (BorderTextViews)findViewById(R.id.Border);
borderTextView.setPaintColor(Color.GRAY);
}
}
package xiaosi.BorderTextView;
import android.app.Activity;
import android.graphics.Color;
import android.os.Bundle;
public class BorderTextViewActivity extends Activity {
/** Called when the activity is first created. */
private BorderTextViews borderTextView = null;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
borderTextView = (BorderTextViews)findViewById(R.id.Border);
borderTextView.setPaintColor(Color.GRAY);
}
}
main.xml
[java] <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:background="#CCFF66">
<xiaosi.BorderTextView.BorderTextViews
android:id="@+id/Border"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#C71585"
android:layout_marginTop="20dp"
android:padding="10dp"
android:layout_gravity="center"
android:text="在画布上画边框" />
</LinearLayout>
摘自 落日小屋
补充:移动开发 , Android ,