嗯,标题并不是真的很详尽,但这就是我如何解决这个问题。 如果有其他解决方案,欢迎他们。
我正在2个模拟器中测试我的应用程序,这是输出:
它是ExpandableListView的一行,左侧包含标题,右侧包含预览。 如果时间太长,预测应该被削减。 问题是,在第一种情况下它太短而在第二种情况下太长。
这是行的布局:
<?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="wrap_content"
android:background="@drawable/elv_title_1_selector"
android:gravity="fill_horizontal|center"
android:orientation="horizontal">
<ImageView
android:id="@+id/evl_grp_indicator"
android:layout_width="16dp"
android:layout_height="16dp"
android:contentDescription="indDown"
android:src="@drawable/indicator_selector" />
<Button
android:id="@+id/cbWarning"
android:layout_width="16dp"
android:layout_height="16dp"
android:background="@drawable/warning_selector"
android:clickable="false"
android:enabled="false"
android:focusable="false"
android:textColor="@color/LogoButtonText"/>
<TextView
android:id="@+id/txtGroupName"
android:layout_width="110dp"
android:layout_height="wrap_content"
android:enabled="true"
android:paddingBottom="15dp"
android:paddingTop="15dp"
android:text=""
android:textColor="@drawable/elv_title_1_selector"
android:textSize="16sp"
android:textStyle="bold" />
<TextView
android:id="@+id/txtPreview"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginLeft="20dp"
android:layout_marginRight="40dp"
android:gravity="center_vertical"
android:padding="5dp"
android:textSize="12sp" />
</LinearLayout>
我已将预览的文本大小设置为12sp,如果长度超过 n 字符,我会以编程方式剪切文本。 我需要的是在第一个案例中将它剪得更大,在第二个案例中剪短。
任何想法如何?
答案 0 :(得分:1)
要解决此问题,请为android:singleLine="true"
添加属性android:ellipsize="end"
和textview
。
<TextView
android:id="@+id/txtPreview"
android:layout_width="110dp"
android:layout_height="wrap_content"
android:enabled="true"
android:paddingBottom="15dp"
android:paddingTop="15dp"
android:text=""
android:textColor="@drawable/elv_title_1_selector"
android:singleLine="true"
android:ellipsize="end"
android:textSize="16sp"
android:textStyle="bold" />
答案 1 :(得分:1)
首先在您的第二个android:singleLine="true"
android:ellipsize="end"
和TextView
<TextView
...
android:singleLine="true"
android:ellipsize="end"
...
/>
用于管理不同设备上的文本大小
创建文件夹
values
values-v21
values-sw600
并添加dimes.xml
并为不同的分辨率指定textsize