仅在并排布置两个TextView时截断最左侧的TextView

时间:2011-12-29 18:39:39

标签: android layout textview

这是我在这里的第一个问题,因为我发现自己难以接受(又一个)应该是简单但不是布局问题。我试图水平布局两个TextViews,比如Title和Author,这样:

标题是左对齐的 作者是正确的 作者包装内容,根据需要进行扩展,永不截断。 如果有必要,标题填充剩下的空间并在最后进行椭圆化。

所以我们有类似的东西: |短篇A.作家| |这是一个很长的时间...工作博客| |另一个标题是...... A.更长的名字|

我无法弄清楚任何设置组合来实现这一目标。我知道问题是布局是从左到右执行的,因此Title不知道它有多少空间,因为还没有渲染Author。但与此同时,这种明显的布局必须是可以实现的吗?

感激不尽的任何帮助。

1 个答案:

答案 0 :(得分:0)

你不应该用RelativeLayout解决这个问题吗?像这样:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/root_layout"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">

    <TextView
        android:id="@+id/title_textview"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_toLeftOf="@+id/author_textview"
        android:ellipsize="end"
        android:singleLine="true"/>

    <TextView
        android:id="@+id/author_textview"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"/>

</RelativeLayout>

这很简单。最有趣的部分是你有正确对齐的作者textview包装它的宽度,左对齐的标题textview填充它,但添加作为约束,后者应该保持在前者的左边。