关于textview的编辑长度

在有些时候,我们想给一些控件进行长度控制,例如下面的品牌车系,可以点击选择车辆品牌并展示到“品牌车系”所在的textview中


关于textview的编辑长度_第1张图片

一开始品牌车系处的代码如下:


关于textview的编辑长度_第2张图片

那么在我选择了品牌车系的车辆品牌后,如果名称过长,会出现如下效果:


最左边的求购会占用选择标签的位置

或者:


最左边的求购控件被挤没了

这样子肯定不可以。

于是我想到了,将最右边的控件中,textview的长度做个限制:

                      android:maxLength="8"

就是做了个限制,textview最大长度为8,效果如下:

车辆品牌只展示前8个字


本来这个效果我很满意了,可是测试那边过不去,说我这内容展示不全,可以在末尾加上省略号。

那么我想到了textview的一个属性:        

                      android:ellipsize="end"

就是在末尾内容过长时变为省略号,但我添加这条属性之后:

最后的textview依旧只展示8个字

跟没加之前效果一样的,省略号却没有出现。难道是我之前的maxlength=8影响了这个功能?

于是我将maxlength这个属性先注释掉(安卓开发要多用注释,少用删除):


车辆品牌的内容倒是全部出来了,但是求购控件呢?你怎么又被挤没了。

最后突然想起来,textview的属性是wrap_content包裹内容,无论多少字,textview都只会变长变短,并不会出现省略号。

一定是宽度需要限制!

重点来了!!!

我输入了一个max,android studio帮我联想出的选择里有个     android:maxWidth    属性:

android:maxWidth="100dp"

当我设置了这个属性之后,效果如下:


哎?怎么变成两行了?赶紧加上    android:singleLine="true"  单行控制。最终达到了后台想要的效果了:


关于textview的编辑长度_第3张图片
省略号出现咯

最终代码如下:


关于textview的编辑长度_第4张图片

在给textview设置了最大宽度后,即使内容再多,android:layout_width="wrap_content"  这句包裹内容也干涉不了我了。

虽然这只是一个很小的细节,但网上也没看到直接的教程。大神们不可能顾及到每个小东西来发布给新手们看,我们要学会自己多尝试,一点点的接近自己的目标,这才是开发的乐趣所在。

希望能给大家带来帮助~

你可能感兴趣的:(关于textview的编辑长度)