多线文本视图,同时保持布局固定

时间:2017-04-26 13:55:14

标签: android textview multiline android-layout-weight

我想实现多行textview保持固定布局。 这是预期的输出屏幕 image 1

这是输出我得到image2

<LinearLayout
    android:id="@+id/layout_product_desc"
    android:layout_width="0dp"
    android:layout_weight="0.75"
    android:layout_height="match_parent"
    android:padding="4dp"
    android:gravity="center"
    android:weightSum="1"
    android:orientation="vertical">
    <LinearLayout
        android:layout_weight="0.90"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:orientation="vertical"
        android:weightSum="1">

        <TextView
            android:id="@+id/txt_product_title"
            style="@style/Appio.Text.Dark.Normal"
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_gravity="start"
            android:layout_weight="0.40"
            android:maxLines="2"/>
        <TextView
            android:id="@+id/txt_product_subtitle_or_model"
            style="@style/Appio.Text.Dark.Small"
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_gravity="start"
            android:layout_weight="0.20"
            android:maxLines="1"/>
        <TextView
            android:id="@+id/txt_product_short_description"
            style="@style/Appio.Text.Dark.Small"
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_gravity="start"
            android:layout_weight="0.20"
            android:maxLines="1"/>
        <TextView
            android:id="@+id/txt_product_availability"
            style="@style/Appio.Text.Dark.Small"
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_gravity="start"
            android:layout_weight="0.20"
            android:maxLines="1"/>
    </LinearLayout>
    <TextView
        android:id="@+id/txt_product_cost"
        style="@style/Appio.Text.Primary.Normal"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="start"
        android:layout_weight="0.10"
        android:maxLines="1"/>
</LinearLayout>

即使我设置了maxLine并指定了权重属性,布局也不会保持固定。还有一些&#34; 缺货&#34;如图2所示。如何解决此问题?

3 个答案:

答案 0 :(得分:0)

如果要使用权重,请将txt_product_cost高度替换为0dp。

<TextView
    android:id="@+id/txt_product_cost"
    style="@style/Appio.Text.Primary.Normal"
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_gravity="start"
    android:layout_weight="0.10"
    android:maxLines="1"/>

那应该解决你的问题

答案 1 :(得分:0)

你应该尝试删除第一个LinearLayout中的TextViwes的 android:layout_weight =&#34; 0.20&#34; ,并将 android:layout_height 更改为 WRAP_CONTENT

答案 2 :(得分:0)

你不能在这里依赖layout_weight。将layout_height设置为&#34; wrap_content&#34;