0

我正在使用一个TextView内部的“LabeledTextView”组件(基本上,在处理由于从右到左语言引起的布局更改时,其标签从一侧移动到另一侧的 TextView)。我在 ListView 中使用它,这正在发生:

在此处输入图像描述

最后一行文本被水平截断。这可能是Android TextView 中的错误onMeasure()吗?

这个相同的“LabeledTextView”组件在其他情况下使用并且工作得很好,所以我认为这与它和ListView.

列表项 xml 的对应部分如下所示:

<LinearLayout
    android:layout_width="0dp"
    android:layout_weight="1"
    android:layout_height="400dp"
    android:orientation="vertical" >

    <com.test.library.view.LabeledTextView
        android:id="@+id/sender"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        custom:label="@string/sender"
        custom:labelWidth="130dp"/>      

    <com.test.library.view.LabeledTextView
        android:id="@+id/message"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        custom:label="@string/message"
        custom:labelWidth="130dp"/>                

</LinearLayout>

您可以看到,在包含的 LinearLayout 中,我确保容器的高度不会减小尺寸。

自定义视图设置LayoutParamsasWRAP_CONTENT高度 - 您可以看到它已经增长到几乎正确的大小。

编辑

然而,当手动增加 LabeledTextView 的大小时,TextView它显示正确,所以我认为onMeasure()我的自定义视图的默认值没有正确考虑TextView孩子的高度。

4

1 回答 1

0

为显示答案所需的两列使用不同的线性布局。

IE。一个用于发件人,一个用于消息

于 2014-08-12T08:46:21.747 回答