android - 具有 wrap_content 宽度的元素占据父元素的全宽

标签 android android-linearlayout

我有以下布局 XML。不确定为什么第三个 TextView 在布局中根本不可见。有人可以指出原因吗?

布局XML的相关部分-

<LinearLayout
    android:id="@+id/layout1"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_toLeftOf="@+id/layout0"
    android:layout_toStartOf="@+id/layout0"
    android:layout_toRightOf="@+id/imageMain1"
    android:layout_toEndOf="@+id/imageMain1"
    android:gravity="center_vertical"
    android:orientation="vertical"
    android:paddingBottom="6dp"
    android:paddingTop="6dp">

    <TextView
        android:id="@+id/textView1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:maxLines="1"
        android:paddingBottom="2dp"
        android:text="@string/dummy_long"
        android:textColor="?android:textColorPrimary"
        android:textSize="16sp"/>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal">

        <TextView
            android:id="@+id/textView2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginRight="8dp"
            android:layout_marginEnd="8dp"
            android:maxLines="1"
            android:text="@string/dummy_paragraph"
            android:textColor="?android:attr/textColorTertiary"
            android:textSize="14sp"/>

        <TextView
            android:id="@+id/textView3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:maxLines="1"
            android:text="@string/dummy"
            android:textColor="?android:attr/textColorTertiary"
            android:textSize="14sp"/>

    </LinearLayout>

</LinearLayout>

更新

最终使用了这个解决方案 - 最终使用了这个 - https://stackoverflow.com/a/17657154/1086930

最佳答案

您可以使用@rajan 回答中提到的layout_weight,但分布不均。例如:

<LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:weightSum="1">

        <TextView
            android:id="@+id/textView2"
            android:layout_width="0dp"
            android:layout_weight="0.7"
            android:layout_height="wrap_content"
            android:layout_marginRight="8dp"
            android:layout_marginEnd="8dp"
            android:maxLines="1"
            android:text="@string/dummy_paragraph"
            android:textColor="?android:attr/textColorTertiary"
            android:textSize="14sp"/>

        <TextView
            android:id="@+id/textView3"
            android:layout_width="0dp"
            android:layout_weight="0.3"
            android:layout_height="wrap_content"
            android:maxLines="1"
            android:text="@string/dummy"
            android:textColor="?android:attr/textColorTertiary"
            android:textSize="14sp"/>

 </LinearLayout>

或者使用 RelativeLayout 作为父级并使用对齐方式。例如:

<RelativeLayout 
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <TextView
        android:id="@+id/textView2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginRight="8dp"
        android:layout_marginEnd="8dp"
        android:maxLines="1"
        android:text="@string/dummy_paragraph"
        android:textColor="?android:attr/textColorTertiary"
        android:textSize="14sp"
        android:layout_toLeftOf="@+id/textView3"
        android:layout_alignParentLeft="true" />

    <TextView
        android:id="@+id/textView3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:maxLines="1"
        android:text="@string/dummy"
        android:textColor="?android:attr/textColorTertiary"
        android:textSize="14sp"
        android:layout_alignParentRight="true" />

</RelativeLayout>

关于android - 具有 wrap_content 宽度的元素占据父元素的全宽,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32849517/

相关文章:

android - Android 上 LinearLayout 中的 CSS "float:right"属性等效?

Android ScrollView 在底部被截断

java - 将图像从 url 保存到 SD 卡会在 android 中抛出 NetworkOnmainThread 异常

Android 线性布局反转

android - LinearLayout (with onClick) containing ImageButton - 有没有更好的方法来解决它?

java - android anonymous asyncTask - 它会导致内存泄漏吗

android - 配置更改时为空对象引用

未调用 WebView 的 JavascriptInterface 方法

空列上的android sqlite索引

android - Dagger 和 mvp - 演示者是否应该使用 dagger 进行注入(inject)