Android中自定义控件获取text的宽高方式
2015-11-07 22:41
399 查看
paint = new Paint(Paint.ANTI_ALIAS_FLAG);
(1)获取高度方式
paint.setTextSize(subTitleTextSize);
Paint.FontMetrics fm = paint.getFontMetrics();
int textHeight = (int) Math.ceil(fm.descent - fm.ascent);
(2)获取宽度方式
① int
width= paint.measureText(str)
②Rect rect = new Rect();
paint.getTextBounds(str, 0, str.length(), rect);
int w = rect.width(); //获取宽度
int h = rect.height();//获取高度
③public static int getTextWidth(Paint paint, String str) {
int iRet = 0;
if (str != null && str.length() > 0) {
int len = str.length();
float[] widths = new float[len];
paint.getTextWidths(str, widths);
for (int j = 0; j < len; j++) {
iRet += (int) Math.ceil(widths[j]);
}
}
return iRet;
}
(1)获取高度方式
paint.setTextSize(subTitleTextSize);
Paint.FontMetrics fm = paint.getFontMetrics();
int textHeight = (int) Math.ceil(fm.descent - fm.ascent);
(2)获取宽度方式
① int
width= paint.measureText(str)
②Rect rect = new Rect();
paint.getTextBounds(str, 0, str.length(), rect);
int w = rect.width(); //获取宽度
int h = rect.height();//获取高度
③public static int getTextWidth(Paint paint, String str) {
int iRet = 0;
if (str != null && str.length() > 0) {
int len = str.length();
float[] widths = new float[len];
paint.getTextWidths(str, widths);
for (int j = 0; j < len; j++) {
iRet += (int) Math.ceil(widths[j]);
}
}
return iRet;
}
相关文章推荐
- Android--Listview学习
- 关于Android Studio如何导入library project
- 调用Android相机拍照的问题
- aidl(android 接口定义语言)
- 怎么样将android studio或者xamarin studio默认界面的标题栏去掉,便于html5打包apk,为了美观
- Android TouchEvent事件传递机制
- robotium 中获取相同类型的自控觉得获取方法(使用Android的ViewGroup控件的getChildAt(index)获取)
- Android NDK开发之《HelloJni》
- Android 自定义seekbar 代码实现
- Android存储-SQLite
- android 5.0新特性CardView教程
- SEAndroid与SEpolicy Language简介
- Android button 点击变色,圆角
- Android背景选择器selector
- Android 百度地图SDK v_3_4_0学习笔记(一)环境搭建
- ionic 解决android 中tabs 在上面的问题。
- android 的oermission权限
- Android系统中的Activity简介
- Android开书籍推荐
- Android Service完全解析,关于服务你所需知道的一切