android - 具有 3 个可变维度子项的 LinearLayout

标签 android android-layout

我在构建包含三个子项(其中两个具有可变尺寸)的 Android XML 布局时遇到问题,其中一个子项在跨越其宽度时优先。

<LinearLayout
    android:id="@+id/LinearLayout"
    android:layout_height="wrap_content"
    android:layout_width="match_parent" >

    <TextView
        android:id="@+id/firstTextView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:singleLine="true"
        android:ellipsize="end"
        android:text="bla 1 bla 1 bla 1" />

    <TextView
        android:id="@+id/secondTextView"
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:text=", " />

    <TextView
        android:id="@+id/thirdTextView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:singleLine="true"
        android:text="bla 2 bla 2 bla 2"/>

</LinearLayout>

问题是,我需要这样显示:“bla 1 bla 1 bla 1, bla 2 bla 2 bla 2”。要求是,当没有足够的空间时,只有 firstTextView 会缩小其宽度(类似于:“bla 1 bla ...,bla 2 bla 2 bla 2”)。请记住,thirdTextView 具有可变宽度,因此它可能只包含“bla 2”并且必须紧挨着 secondTextView,而后者又必须位于 firstTextView 的右侧。

我试图避免以编程方式调整宽度。

谢谢。

最佳答案

在你的第一个 textView 上试试这个:

android:layout_width="0dp"
 android:layout_weight="1"

当其他 2 个内容被包装时,这将使 View 占据剩余空间

关于android - 具有 3 个可变维度子项的 LinearLayout,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18237374/

相关文章:

android - 在 Libgdx 屏幕中检测 Google Play 登录成功

java - JUnit TestWatcher : failed, 是否可以删除抛出的异常(操作 Throwable/stacktrace)?

java - Android ActionBar 不可见

android - 如何动态添加onclick到arraylist

android - 在 ScrollView 的 LinearLayout 中被遮挡的 subview

android - HERE SDK 与 android api 21 > 兼容吗?

java - 如何将参数从 Activity 类传递到 Android 中扩展 View 的类

android - 如何将 DynamicLayout 锚定到 Canvas 底部?

android - 特殊键的keyBackground - android键盘

android - 写入android中的文件并从android中读取文件