Hes*_*sam 285 android ellipsis textview
我有一个TextView我想限制它的字符.实际上,我可以做到这一点,但我正在寻找的是如何在字符串的末尾添加三个点(...).这一个显示文本已经继续.这是我的XML,但没有点,虽然它限制了我的文本.
<TextView
android:id = "@+id/tvFixture"
android:layout_width = "wrap_content"
android:layout_height = "wrap_content"
android:layout_toLeftOf = "@id/ivFixture_Guest"
android:text = "@string/test_06"
android:lines = "1"
android:ems = "3"
android:gravity = "right"
style = "@style/simpletopic.black"
android:ellipsize="end"/>
Run Code Online (Sandbox Code Playgroud)
Moh*_*ikh 624
推荐使用:
android:singleLine="true"在Textview中添加一个属性
更新:
android:ellipsize="end"
android:maxLines="1"
Run Code Online (Sandbox Code Playgroud)
Sur*_*gch 148
以下是我通过使用各种选项强制TextView一行(有和没有三个点)学到的东西.

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:maxLines="1"
android:text="one two three four five six seven eight nine ten" />
Run Code Online (Sandbox Code Playgroud)
这只会强制文本到一行.隐藏任何额外的文字.
有关:
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:maxLines="1"
android:ellipsize="end"
android:text="one two three four five six seven eight nine ten" />
Run Code Online (Sandbox Code Playgroud)
这会切断不适合的文本,但让用户知道通过添加省略号(三个点)来截断文本.
有关:
<TextView
android:id="@+id/MarqueeText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:maxLines="1"
android:singleLine="true"
android:ellipsize="marquee"
android:focusable="true"
android:focusableInTouchMode="true"
android:text="one two three four five six seven eight nine ten" />
Run Code Online (Sandbox Code Playgroud)
这使文本在TextView中自动滚动.请注意,有时需要在代码中设置:
textView.setSelected(true);
Run Code Online (Sandbox Code Playgroud)
据说android:maxLines="1"并且android:singleLine="true"应该基本上做同样的事情,因为singleLine 显然已被弃用,我宁愿不使用它,但是当我拿出它时,选框不再滚动了.以maxLines出并不影响它,但.
有关:
<HorizontalScrollView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/horizontalScrollView">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:maxLines="1"
android:scrollHorizontally="true"
android:text="one two three four five six seven eight nine ten" />
</HorizontalScrollView>
Run Code Online (Sandbox Code Playgroud)
这允许用户手动滚动以查看整行文本.
Nir*_*tel 79
在布局文件中尝试TextView的这个属性..
android:ellipsize="end"
android:maxLines="1"
Run Code Online (Sandbox Code Playgroud)
Muz*_*Muz 31
我认为你想要将宽度限制为一行而不是按字符限制它?由于singleLine不推荐使用,您可以尝试一起使用以下内容:
android:maxLines="1"
android:scrollHorizontally="true"
android:ellipsize="end"
Run Code Online (Sandbox Code Playgroud)
Nay*_*pte 12
例如.您可以使用
android:maxLength="13"
Run Code Online (Sandbox Code Playgroud)
这会将texview长度限制为13,但问题是如果你试图添加3个点(...),它就不会显示它,因为它将是textview长度的一部分.
String userName;
if (data.length() >= 13) {
userName = data.substring(0, 13)+ "...";
} else {
userName = data;
}
textView.setText(userName);
Run Code Online (Sandbox Code Playgroud)
除此之外,你必须使用
android:maxLines="1"
Run Code Online (Sandbox Code Playgroud)
小智 10
用
android:singleLine="true"android:maxLines="1"app:layout_constrainedWidth="true"这就是我的完整TextView外观:
<TextView
android:id="@+id/message_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="5dp"
android:maxLines="1"
android:singleLine="true"
android:text="NAME PLACEHOLDER MORE Text"
android:textColor="@android:color/black"
android:textSize="16sp"
android:textStyle="bold"
app:layout_constrainedWidth="true"
app:layout_constraintEnd_toStartOf="@id/message_check_sign"
app:layout_constraintHorizontal_bias="0"
app:layout_constraintStart_toEndOf="@id/img_chat_contact"
app:layout_constraintTop_toTopOf="@id/img_chat_contact" />
Run Code Online (Sandbox Code Playgroud)

小智 8
如果文本太长,则在文本末尾添加“...”的步骤:
android:ellipsize="end" android:maxLines="1"约束布局中textview的完整代码:
<TextView
android:layout_width="75dp"
android:layout_height="wrap_content"
android:ellipsize="end"
android:maxLines="1"
android:textSize="15sp"
android:textAllCaps="false"
android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="parent" />
Run Code Online (Sandbox Code Playgroud)
我正在使用水平 Recyclerview。
1) 在 CardView 中,TextView 在使用时会垂直扭曲
android:ellipsize="end"
android:maxLines="1"
Run Code Online (Sandbox Code Playgroud)
检查粗体 TextViews Wyman Group, Jaskolski ...

2)但是当我将 singleLine 与 ellipsize 一起使用时 -
android:ellipsize="end"
android:singleLine="true"
Run Code Online (Sandbox Code Playgroud)
检查粗体 TextViews Wyman Group, Jaskolski ...

第二个解决方案对我有用(使用 singleLine)。此外,我在 OS 版本:4.1 及更高版本(直到 8.0)中进行了测试,它运行良好,没有任何崩溃。
代码:
TextView your_text_view = (TextView) findViewById(R.id.your_id_textview);
your_text_view.setEllipsize(TextUtils.TruncateAt.END);
Run Code Online (Sandbox Code Playgroud)
xml:
android:maxLines = "5"
Run Code Online (Sandbox Code Playgroud)
例如
在马太福音 13 章,门徒问耶稣为什么用比喻对群众说话。他回答说:“天国的奥秘,只叫你们知道,不叫他们知道。
输出:在马太福音 13 章,门徒问耶稣为什么用比喻对群众说话。他回答说:“你已经知道了......
| 归档时间: |
|
| 查看次数: |
189210 次 |
| 最近记录: |