android设置适当的文字宽度
2016-12-06 10:54
155 查看
按项目需求,title要求格式为“title + 数字”,如果title过长,那么title的结尾以...结束,但是数字不能省略,设计如下
String getExactTitle(String mTitle,String mMemberCount) { DisplayMetrics metric = new DisplayMetrics(); getWindowManager().getDefaultDisplay().getMetrics(metric); float density = metric.density; // 屏幕密度(0.75 / 1.0 / 1.5) int DEFAULT_PIX = 180; int maxLength = (int)(DEFAULT_PIX * density); getTitleBar().setTitleLimitCount(100); getTitleBar().getTitleView().setSingleLine(); getTitleBar().getTitleView().setMaxWidth(maxLength); Paint pFont = new Paint(); //pFont.setTextSize(18 * density);pFont.setTextSize(getTitleBar().getTitleView().getTextSize());//这样设置字体更合适int memberWidth = (int)pFont.measureText(mMemberCount); int titleWidth = (int)pFont.measureText(mTitle); String title = mTitle; if (titleWidth + memberWidth > maxLength) { int titleLimit = maxLength - memberWidth - (int) pFont.measureText("..."); for (int i = 0; i < mTitle.length(); i++) { if (pFont.measureText(mTitle.substring(0, i)) > titleLimit) { title = mTitle.substring(0, i) + "..." + mMemberCount; break; } } } else { title = mTitle + mMemberCount; } return title;}
相关文章推荐
- Android 文字跑马灯控件,支持设置滚动速度,文字颜色,大小等,可设置任意长度文本及任意控件宽度
- Android控件TextView中ellipsize属性(设置当文字长度超过textview宽度时的显示方式)
- android TextView文字透明度和背景透明度设置
- android--设置TextView部分文字的颜色和背景(高亮显示)
- 获取文字的宽度(android)
- Android进阶篇-自定义Menu(设置Menu的背景及文字属性)
- android EditText 设置输入的文字的格式方式
- c#动态设置combobox控件下拉项宽度以实现下拉项文字可以完全显示。
- 最新历史版本 :android--设置TextView部分文字的颜色和背景(高亮显示)
- Android设置RadioButton在文字的右边
- Android设置文字粗体的方法
- div+CSS设置一行内文字超过宽度不换行且不显示
- Android按钮设置文字变色
- android 设置Spinner文字标题颜色 字体大小样式
- android--获取文字的宽度
- Android之系统自带的文字外观设置及实际显示效果图
- android--设置TextView部分文字的颜色和背景(高亮显示)
- Android之系统自带的文字外观设置及实际显示效果图
- Android之系统自带的文字外观设置
- android TextView文字透明度和背景透明度设置