我知道在论坛上有很多这样的问题,但很多情况都是独一无二的,所以这里就是这样。
我有一个自定义列表视图,它根据应用程序主题以不同方式显示“事件”。标题,alt文本和标签的文本都被截断(无论高度设置为什么)。你能帮我解决一下这个问题吗?
文本在我的3个主题中的两个中被切断,并且仅在实际设备上(不是模拟器)。
每个列表项的代码非常相似,所以我只在下面添加一个(如果需要,将附加其他列表项);感谢。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent" android:layout_height="fill_parent">
<!-- ?android:attr/listPreferredItemHeight -->
<LinearLayout android:id="@+id/viewrow_flags"
android:orientation="vertical" android:layout_width="36px"
android:layout_height="80px" android:layout_marginRight="6dip">
</LinearLayout>
<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_width="fill_parent" android:layout_height="fill_parent"
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: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: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="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"
android:paddingTop="12dip" />
</LinearLayout>
答案 0 :(得分:2)
您将TextViews定义为带有android:singleLine =“true”的单行。因此,如果文本对于空间来说太大,它将被裁剪。将TextViews设置为允许包装发短信并扩展其高度或者您可以使用android:ellipsize =“marquee”属性在单行上显示文本。
答案 1 :(得分:2)
我发现了问题,它是布局权重和整体视图列表项高度的混合。
<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"
答案 2 :(得分:1)
将android:layout_weight="1"
添加到被截断的人
答案 3 :(得分:0)
让我在android:layout_gravity="center_vertical"
工作中设置TextView
。
答案 4 :(得分:0)
只需更改layout_height =&#34; fill_parent&#34; in linear to wrap_content
<LinearLayout android:orientation="vertical"
android:layout_width="0dip" android:layout_weight="1"
android:layout_height="fill_parent">
<TextView android:id="@+id/viewrow_toptext"