如何创建这样的布局?

时间:2010-02-18 19:22:17

标签: android

我有一个水平的LinearLayout,里面有2个TextViews。假设LinearLayout的宽度为320px。如果TextViews不适合LinearLayout(它们在一起比320px宽),我想以某种方式实现这一点:

  • 第二个 TextView完全显示,位于LinearLayout的右边缘
  • 第一个 TextView仅部分显示,只有前x个字符可见

我的意思是:

[TextView1 | TextView2 _________________________] //这是正常的

[VeryVeryL ... | VeryVeryLongTextView2] // VeryVeryLongTextView1不完全可见

2 个答案:

答案 0 :(得分:0)

为您的第一个textView指定一个特定的宽度(即20dp ...注意,最好使用dp而不是硬编码像素,以处理设备的多个分辨率),为您的第二个TextView提供1的权重。告诉它占用剩余的空间。例如:

<LinearLayout ...>
    <TextView android:layout_width="20dp"
                android:layout_height="wrap_content"/>
    <TextView android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"/>
</LinearLayout>

答案 1 :(得分:0)

要在上面的评论中获得您要求的效果,您可以将Mayra的解决方案修改为:

<LinearLayout ...>
<TextView android:layout_width="wrap_content"
            android:maxWidth="20dp"
            android:layout_height="wrap_content"/>
<TextView android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"/>

我认为这会奏效。奇怪的是,maxWidth参数仅存在于几个视图类中,但TextView幸运的是其中之一。你认为它在更多情况下会有用,所以我不确定它为什么不能在默认视图参数中使用。