美文网首页
TextView左右两端显示文字

TextView左右两端显示文字

作者: 没火 | 来源:发表于2017-05-11 18:35 被阅读0次

今天在写界面的时候,有个在同一行显示两个文本的布局,布局是同一行左边显示时间 ,右边显示地点,初看这简单啊,不就是一个左一个右吗,无论是RelativeLayout的layout_alignParent属性,还是LinearLayout的权重属性layout_weight或者是约束布局都可以实现,于是分分钟一个左右显示的文字布局写好了。


Paste_Image.png

 本以为这样就算完成了吧,可是测试提出了问题 :文字多了要怎么显示,最后UI定下地点长了的话,先往左延伸,如果一行显示不完就转换到下一行从面继续往后延续。


QQ图片20170511181347.png
 看到这我觉得两个textview是不好实现了,想了会怎么操作没有想到什么布局可以实现这一的效果,于是就想用一个textview显示,用一个textview显示的话就需要在中间添加上空格,要加多少空格呢,这是就要计算下两边文字宽度然后计算下单个空格宽度,计算有了textview宽度以及文字宽度和单个空格宽度就可以计算出需要加多少空格,然后把添加到空格的文本设置到textview中就可以了,具体代码如下:
String text1 = "发送给:全体人员 ";

String text2 = "地点:东西南北上下左右四面八方的中间";
TextPaint paint = tv.getPaint();
int width = tv.getMeasuredWidth() - tv.getPaddingLeft() -
tv.getPaddingRight();
float width1 = paint.measureText(text1);
float width2 = paint.measureText(text2);
float spaceWidth = paint.measureText(" ");
int spaceCount = (int) ((width - width1 - width2) / spaceWidth);
StringBuilder sb = new StringBuilder();
sb.append(text1);
for (int i = 0; i < spaceCount; i++) {
sb.append(" ");
}
sb.append(text2);
tv.setText(sb.toString());
 如果你无法获取到tv宽度,你可以通过viewTreeObserver的在布局加载后获取

相关文章

  • TextView左右两端显示文字

    今天在写界面的时候,有个在同一行显示两个文本的布局,布局是同一行左边显示时间 ,右边显示地点,初看这简单啊,不就是...

  • Studay Jamas A01布局上

    试图认识–TextView TextView的作用 TextView是用来显示文字的控件,虽说是用来显示文字,但也...

  • TextView

    1、让TextView禁止编辑 2、让TextView的文字从顶部开始显示 推荐阅读: iOS textView文...

  • 布局优化

    参考文章 TextView的优化使用 用TextView同时显示图片和文字api: drawableLeft =...

  • (UITextView) - 限制字数之后,粘贴大量文字导致显示

    复制粘贴大量的文字到textview中, 显示异常 textview做了文字限制处理 在代理中, 文字限制处理之后...

  • TextView 文字滚动显示

    TextView有时候显示的文字会很长,需要像跑马灯那样水平滚动显示。这方面也有开源库,但是如果需求不复杂的话其实...

  • 在textView中添加 drawable

    使用ImageSpan: 用TextView本身的属性同时显示图片和文字 TextView 有这些属性: dra...

  • 基于TextView 实现标签化TextLabel及图文混排

    TextView 是我们最常用的View,经常使用它进行显示文字,但使用TextView来显示图片变显的不那么方便...

  • Android富文本的学习一

    1TextView的富文本介绍: 什么是富文本,大家都知道TextView可以显示文字,设置文字样式,利用富文本可...

  • 类似显示全文的实现

    需求是textview最多显示两行,末尾显示一个icon。当文字过长被截断时,要显示「文字...{图片}」的效果;...

网友评论

      本文标题:TextView左右两端显示文字

      本文链接:https://www.haomeiwen.com/subject/jvtatxtx.html