我在我的布局中添加了一个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在字典里找不到。谁能给我解释一下椭圆大小属性能给我们带来什么好处?开始,结束,中间的区别是什么?


当前回答

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

 android:ellipsize="marquee"    

其他回答

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

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

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

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

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

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

假设文本视图的原始值是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"

文本:

 This is my first android application and
 I am trying to make a funny game,
 It seems android is really very easy to play.

假设上面是你的文本,如果你使用ellipsize的start属性,它会像这样

This is my first android application and
...t seems android is really very easy to play.

带有end属性

 This is my first android application and
 I am trying to make a funny game,...

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

 android:ellipsize="marquee"