为TextView组件加上边框
来源:互联网 发布:数据可视化前景 编辑:程序博客网 时间:2024/05/06 01:09
http://www.cnblogs.com/nokiaguy/archive/2010/07/15/1777835.html
Android系统本身提供的TextView组件并不支持边框,但可以对TextView进行扩展来添加边框。我们可以使用如下两种方法为TextView组件添加边框。
1. 编写一个继承TextView类的自定义组件,并在onDraw事件方法中画边框。
2. 使用9-patch格式的图像作为TextView的背景图来设置边框(这个背景图需要带一个边框)。
在onDraw事件方法中画边框非常容易,只需 要画TextView组件的上、下、左、右四个边即可。这个自定义组件的代码如下:
package net.blogjava.mobile;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Paint;
import android.util.AttributeSet;
import android.widget.TextView;
public class BorderTextView extends TextView
{
@Override
protected void onDraw(Canvas canvas)
{
super.onDraw(canvas);
Paint paint = new Paint();
// 将边框设为黑色
paint.setColor(android.graphics.Color.BLACK);
// 画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);
}
public BorderTextView(Context context, AttributeSet attrs)
{
super(context, attrs);
}
}
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Paint;
import android.util.AttributeSet;
import android.widget.TextView;
public class BorderTextView extends TextView
{
@Override
protected void onDraw(Canvas canvas)
{
super.onDraw(canvas);
Paint paint = new Paint();
// 将边框设为黑色
paint.setColor(android.graphics.Color.BLACK);
// 画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);
}
public BorderTextView(Context context, AttributeSet attrs)
{
super(context, attrs);
}
}
注意:如果想让TextView透明,也就是 将TextView的父视图的背景色作为TextView组件的背景色,如图2所示的第3个TextView组件,需要制作带边框的透明png图像(除了边框,图像的其他部分都是透明的),然后再生成9-patch格式的图像。
0 0
- 为TextView组件加上边框
- Android系列教程(2):为 TextView组件加上边框
- android开发 -为TextView加上边框
- Android-为组件加上边框----方法二
- 为TextView设置边框
- 为组件添加边框
- Android--为TextView添加边框
- Android--为TextView添加边框
- android 为TextView添加边框
- android 为TextView添加边框
- Android 为TextView 添加边框
- android 为TextView添加边框
- Android--为TextView添加边框
- android 为TextView添加边框
- android 为TextView添加边框
- android 为TextView添加边框
- 为 selecrt 下拉框加上边框
- 【Android】自定义View-为View加上边框
- android之滑动选择切换字符
- Android UI开发详解之Layout_gravity和gravity的区别
- 退换货财务分录处理
- 黑马程序员-反射机制
- 数组中出现次数超过一半的数字
- 为TextView组件加上边框
- 王家林的81门一站式云计算分布式大数据&移动互联网解决方案课程第二门课程:云计算分布式大数据Hadoop数据库管理员企业级动手实践
- Linux getopt 函数用法
- java语法基础
- Win7下Cocos2d-x跨平台游戏开发-开发环境搭建
- 王家林的81门一站式云计算分布式大数据&移动互联网解决方案课程第三门课程:云计算分布式大数据Hadoop征服之旅:HDFS&MapReduce&HBase&Hive&集群管理
- Java面向对象
- FusionCharts 2D双面积图
- 王家林的81门一站式云计算分布式大数据&移动互联网解决方案课程第四门课程:云计算架构实例与案例鉴赏