自定义button 的 字体绘制,按下状态图片变换
来源:互联网 发布:微星风扇控制软件 编辑:程序博客网 时间:2024/05/08 11:57
继承Button类
public int TEXT_SIZE = 20; // 字体大小
public int sFontMetricsOffsetY = 0;
private int mTextLeftX = 0;
/**
* 重写绘图方法,绘入字体*/
@Override
protected void onDraw(Canvas canvas) {
TEXT_SIZE = mButton.getTextSize();
setTextColor(mButton.getTextColor(), paint);
paint.setTextSize(TEXT_SIZE);
FontMetrics fontMetrics = paint.getFontMetrics();
int fontHeight = (int) Math.ceil(fontMetrics.bottom - fontMetrics.top);
sFontMetricsOffsetY = (fontHeight - TEXT_SIZE) >> 1; // 右移一位 (/2)
if (mButton.getText() != null && mButton.getWidth() != 0) {
int width = (int) paint.measureText(mButton.getText());
mTextLeftX = mButton.getWidth() - width;
mTextLeftX >>= 1;
}
if (mButton.getText() != null && mButton.getText() != "") {
canvas.drawText(mButton.getText(), mTextLeftX, ((mButton
.getHeight() + TEXT_SIZE) >> 1)
- sFontMetricsOffsetY, paint);
}
super.onDraw(canvas);
}
@Override
public boolean onTouchEvent(MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
if (!bgType.equals(mButton.getType())) {
setBackgroundDrawable(new BitmapDrawable(mImageDown));
}
break;
case MotionEvent.ACTION_UP:
setBackgroundDrawable(new BitmapDrawable(mImage));
break;
default:
break;
}
return super.onTouchEvent(event);
}
- 自定义button 的 字体绘制,按下状态图片变换
- metro button 自定义不同状态下的字体颜色
- 设置Button的字体颜色状态选择器
- 自定义drawable文件夹下的button和图片选择
- 不同状态下的button
- Button按下抬起状态
- Button按下效果之变换背景图片
- Button自定义状态背景
- 【Unity3D】【NGUI】处理Button的按下状态?
- android 不同主题下不同状态的button 动态改变文字和图片
- Android Button按钮点击变换字体颜色
- 自定义button的图片和标题位置
- 自定义Button的图片和title位置
- IOS自定义图片放右边的Button
- Android自定义Button字体颜色
- Android自定义Button字体颜色
- CSS:自定义链接样式(设置链接不同状态下的字体颜色/背景色等)
- Android之自定义背景Button按钮、自定义形状Button的全攻略、设置字体颜色
- iPhone开发基础教程笔记(十六)--第十六章 iPhone照相机和照片库
- PHP多进程编程一
- 海量数据处理与存储调研
- blktrace 对于磁盘跟踪的问题
- 模拟器上的电话状态
- 自定义button 的 字体绘制,按下状态图片变换
- 模拟器上的电话状态
- iPhone开发基础教程笔记(十七)--第十七章 应用程序本地化
- 占位
- 如何输入版权特殊字符©
- word中插入图片不能完全显示的问题
- springMVC
- iPhone开发基础教程笔记(十八)--第十八章 未来之路
- Apache Solr 初级教程