ListView中的Android文本被切断
我知道论坛上有很多这样的问题,但很多案例都是独一无二的,所以就这样 我有一个自定义列表视图,根据应用程序主题以不同的方式显示“事件”。标题、alt文本和标记的文本都被截断(无论高度设置为多少)。你能帮我解决这个问题吗 文本在我的3个主题中的两个主题中被截断,并且仅在实际设备上(而不是模拟器上) 每个列表项的代码都非常相似,所以我只在下面附上一个(如果需要,还会附上其他的);谢谢ListView中的Android文本被切断,android,listview,layout,textview,android-linearlayout,Android,Listview,Layout,Textview,Android Linearlayout,我知道论坛上有很多这样的问题,但很多案例都是独一无二的,所以就这样 我有一个自定义列表视图,根据应用程序主题以不同的方式显示“事件”。标题、alt文本和标记的文本都被截断(无论高度设置为多少)。你能帮我解决这个问题吗 文本在我的3个主题中的两个主题中被截断,并且仅在实际设备上(而不是模拟器上) 每个列表项的代码都非常相似,所以我只在下面附上一个(如果需要,还会附上其他的);谢谢 使用android:singleLine=“true”将文本视图定义为单行。因此,如果文本对于空间来说太大,它将被裁
使用android:singleLine=“true”将文本视图定义为单行。因此,如果文本对于空间来说太大,它将被裁剪。要么将文本视图设置为允许包装文本并扩展其高度,要么可以使用android:ellipsize=“marquee”属性在一行上显示文本。向那些被切断的人添加android:layout\u weight=“1”
,我解决了问题,它是布局权重和整体视图列表项高度的混合体
<LinearLayout android:orientation="vertical"
android:layout_width="0dip"
android:layout_weight="1"
android:layout_height="fill_parent">
- <TextView android:id="@+id/viewrow_toptext"
android:layout_weight="1"
+ <TextView android:id="@+id/viewrow_toptext"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
- android:singleLine="true"
android:ellipsize="end"
android:gravity="center_vertical"
+ android:singleLine="true"
android:layout_weight="1"
android:gravity="center_vertical"
android:textColor="#00ccFF"
android:textSize="6pt"
android:paddingBottom="1dip"/>
- <TextView android:layout_width="fill_parent"
- android:ellipsize="end"
+ <TextView android:layout_width="fill_parent"
android:gravity="center_vertical"
android:layout_height="fill_parent"
android:layout_weight="1"
android:id="@+id/viewrow_bottomtext"
android:textColor="#0066FF"
android:singleLine="true"
android:textSize="6pt"
android:paddingBottom="1dip"/>
- <TextView android:layout_width="fill_parent"
- android:ellipsize="end"
+ <TextView android:layout_width="fill_parent"
android:gravity="center_vertical"
android:layout_height="fill_parent"
android:layout_weight="1"
android:id="@+id/viewrow_tagtext"
android:textColor="#0066FF"
android:singleLine="true"
android:textSize="6pt"
android:paddingBottom="1dip"/>
</LinearLayout>
<View android:id="@+id/viewrow_anchor"
android:layout_width="0sp"
- android:layout_height="70dip"
android:layout_gravity="center" />
+ android:layout_height="60dip"
android:layout_gravity="center" />
<TextView android:id="@+id/viewrow_dayview"
android:layout_width="60sp"
android:layout_height="80px"
android:gravity="center"
android:paddingLeft="6dip"
-只需更改线性布局中的layout\u height=“fill\u parent”即可包装内容
<LinearLayout android:orientation="vertical"
android:layout_width="0dip" android:layout_weight="1"
android:layout_height="fill_parent">
<TextView android:id="@+id/viewrow_toptext"
这两个变量之间有什么区别?我在安卓文档上查了一下,上面说ellipsize通常会与安卓一起使用:singleLine。是的,ellipsize是用于单行的。将使用结束点进行裁剪,或者对于android:ellipsize=“marquee”将像选框一样从左向右滚动文本。如果你有房间,可以使用多行。更好的UI设置此属性并不能解决问题-我猜它与文本视图及其布局高度/权重有关。marquee不会在我的视图中滚动文本(可能是因为它是动态填充的),但至少我能去掉这三个点和最后一个字的结尾。我想我试着给这三个文本视图相同的布局权重,但它们仍然在我的实际设备上被切断。稍后我会确认这一点。我尝试将所有内部文本视图设置为具有相同的权重,但这并没有解决问题。
<LinearLayout android:orientation="vertical"
android:layout_width="0dip" android:layout_weight="1"
android:layout_height="fill_parent">
<TextView android:id="@+id/viewrow_toptext"