android - TextView 额外填充 ellipsize 中间
问题描述
我有一个TextView
下一个参数
<item name="android:gravity">end|center_vertical</item>
<item name="android:ellipsize">middle</item>
TextView
当文本被省略时,在开始时添加 +/- 36dp 填充
但是当文本没有被省略时,不会添加额外的填充。
我该如何解决?我想要文本适合TextView
,就像第二个屏幕截图一样。
UPD1。可以使用此代码片段重现问题。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ellipsize="middle"
android:gravity="end|center_vertical"
android:singleLine="true"
android:text="Lorem Ipsum is simply dummy text of the printing and typesetting industry." />
</LinearLayout>
解决方案
将 android:ellipsize="middle" 更改为 android:ellipsize="end"。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ellipsize="end"
android:gravity="end|center_vertical"
android:paddingStart="36dp"
android:paddingEnd="36dp"
android:singleLine="true"
android:text="Lorem Ipsum is simply dummy text of the printing and typesetting industry." />
</LinearLayout>
推荐阅读
- c# - 如何通过代码指定 Swagger 规范扩展?
- c++ - 为什么 iota_view 允许不同的整数模板参数?
- azure - DefaultAzureCredential 不适用于 Azure 应用服务中的用户分配的托管标识,而 Azure VMSS 则不然
- c# - 如何知道 ZipFile.ExtractToDirectory 已完成
- php - 如何使 PHP 函数的返回结果成为 PHP 变量?
- android - 如何在以编程方式更改 android 中的音频类型时隐藏音频滑块 UI?
- .net - .NET5 和 .NET 标准有什么区别?
- c# - 如何在 ASP.NET Core 3.1 生产中配置 IdentityServer
- python - 如何将多个用括号分隔的数字从 txt 文档中提取到 python 列表中?
- reactjs - 样式化的组件全局样式在 Next 中重复