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


当前回答

将此属性设置为EditText。Ellipsize与禁用EditText一起工作

android:lines="1"
android:scrollHorizontally="true"
android:ellipsize="end"
android:singleLine="true"
android:editable="false"

还是setKeyListener(空);

其他回答

下面是一个例子,关于ellipsize如何工作,而不使用已弃用的android:singleLine="true"在一个ConstraintLayout:

<TextView
   android:layout_width="0dp"
   android:layout_height="wrap_content"
   android:textSize="13sp"
   android:ellipsize="end"
   android:maxLines="2"
   app:layout_constraintEnd_toEndOf="parent"
   app:layout_constraintStart_toStartOf="parent"
   tools:text="long long long long long long text text text" />

记住,如果你有一个文本应该在单行中,然后将maxLines更改为1。

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

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

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

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

Start的输出将是:…bccc

End的输出将是:aaab…

中间的输出将是:aa…cc

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

省略号是连续三个句号。

当TextView不能展开显示其所有文本时,它将使用省略号。属性ellipsized在必要时设置三个点的位置。

将此属性设置为EditText。Ellipsize与禁用EditText一起工作

android:lines="1"
android:scrollHorizontally="true"
android:ellipsize="end"
android:singleLine="true"
android:editable="false"

还是setKeyListener(空);

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

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

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