我有一个包含多行TextView的
Android应用程序布局.当屏幕处于纵向方向时,TextView可以在横向模式下运行时显示不同长度的文本.此外,当在小屏幕上运行时,TextView可以在较大屏幕上运行时显示不同长度的文本.
有什么办法可以检查文本是否适合或将被截断?或者有什么办法可以检查TextView是否满了?
问题是TextView可能包含不同数量的行,这取决于它是横向,纵向,小屏幕,大屏幕等.
感谢您的建议,
最好的祝福,
詹姆士
解决方法
这些答案对我来说不是很好.这是我最后做的
Paint measurePaint = new Paint(myTextView.getPaint()); float pWidth = measurePaint.measureText("This is my big long line of text. Will it fit in here?"); float labelWidth = myTextView.getWidth(); int maxLines = myTextView.getMaxLines(); while (labelWidth > 0 && pWidth/maxLines > labelWidth-20) { float textSize = measurePaint.getTextSize(); measurePaint.setTextSize(textSize-1); pWidth = measurePaint.measureText("This is my big long line of text. Will it fit in here?"); if (textSize < TypedValue.applyDimension( TypedValue.COMPLEX_UNIT_SP,7,getContext().getResources().getDisplayMetrics())) break; } myTextView.setTextSize(TypedValue.COMPLEX_UNIT_PX,measurePaint.getTextSize());
我不是说这将适用于每种情况,因为我在这里切割角落,但一般的想法是用textview的颜色来测量文本,并保持缩小,直到它适合文本视图.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。