概述
在项目中要动态给TextView设置文字,文字太多,TextView大小有限又不能设置为滚动。网上找了一下很多人推荐用一个开源的TextViewMultilineEllipse,这个控件的确可以达到这种效果,但它仅仅解决了这个问题,却同时舍弃了TextView很多其他强大的功能,比如设置行距等。
我的思路是为TextView固定行数,被盖住一部分的最后一行干脆不显示,但我的TextView的大小也是不固定的,于是只能动态设置行数。我的做法是在onDraw()函数中计算该TextView能显示多少行,然后调用setLines(),进行设置。代码如下:
private boolean calculatedLines = false;
@Override
protected void onDraw(Canvas canvas) {
if(!calculatedLines){
calculateLines();
calculatedLines = true;
}
super.onDraw(canvas);
}
private void calculateLines() {
int mHeight = getMeasuredHeight();
int lHeight = getLineHeight();
int lines = mHeight / lHeight;
setLines(lines);
}
最后
以上就是搞怪雨为你收集整理的Android TextView文字太多显示的最后一行被盖住一半的解决办法的全部内容,希望文章能够帮你解决Android TextView文字太多显示的最后一行被盖住一半的解决办法所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复