我在我的布局中添加了一个EditText,并添加了一个提示,并使其水平居中。

在运行应用程序时,提示是不可见的。我发现我应该使椭圆值的TextView是开始:

<EditText
    android:id="@+id/number1EditText"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:ellipsize="start"
    android:ems="10"
    android:gravity="center_horizontal"
    android:hint="@string/hint1" />

在Android文档中,我读到:

如果设置,将导致比视图宽度更长的单词 椭圆形的,而不是中间破碎的。

问题是ellipsize在字典里找不到。谁能给我解释一下椭圆大小属性能给我们带来什么好处?开始,结束,中间的区别是什么?


当前回答

你可以在这里找到相关文档。

根据您的需求,您可以根据您的需求进行选择。

“省略号”是一个新词,意思是用省略号把文本缩短,也就是用三个点…或者更常见的是捆绑,来代替被省略的部分。

假设文本视图的原始值是aaabbbccc,它在视图内部是合适的

Start的输出将是:…bccc

End的输出将是:aaab…

中间的输出将是:aa…cc

Marquee的输出将是:aaabbbccc自动从右向左滑动

其他回答

注意:您的文本必须大于容器框,以便以下内容被选中:

 android:ellipsize="marquee"    

你可以在这里找到相关文档。

根据您的需求,您可以根据您的需求进行选择。

“省略号”是一个新词,意思是用省略号把文本缩短,也就是用三个点…或者更常见的是捆绑,来代替被省略的部分。

假设文本视图的原始值是aaabbbccc,它在视图内部是合适的

Start的输出将是:…bccc

End的输出将是:aaab…

中间的输出将是:aa…cc

Marquee的输出将是:aaabbbccc自动从右向左滑动

当你有固定宽度时使用ellipsize,然后它会自动截断文本并在结尾显示省略号,

如果你将layout_width设置为wrap_content & match_parent,它将不起作用。

android:width="40dp"
android:ellipsize="end"
android:singleLine="true"

android:ellipsize在API Level 1中添加。省略号是连续三个句号。(…)。

在你的。xml中

 <TextView
       ....
       android:text="Hi I am Amiyo, you can see how to ellipse works."
       android:ellipsize = "end" />

此时,省略号还不会显示,因为TextView被设置为在输入新文本时自动展开默认值。你需要以某种方式限制TextView。这样做,你可以使用添加到你的TextView一个scrollhorizontal, minLines,或maxLines有省略号显示。

做椭圆:

    at the end: this is how it would.   
    use: android:ellipsize = "end"

And

 in the middle:
 use: android:ellipsize = "middle"

And

 at the start:
 use: android:ellipsize = "start"

And

 to have no ellipse
 use: android:ellipsize = "none"

请注意:

Do not use android:singeLine = "true", it is deprecated.
android:maxLines = "1" will not display the three dots (...)
android:lines = "1" will not display the three dots (...)

欲了解更多详情,请访问这里

根据我的经验,只有设置了以下两个属性,省略号才能工作。

android:ellipsize="end"
android:singleLine="true"

对于TextView的宽度,wrap_content或match_parent都应该是好的。