LinearLayout在ExpandableListView中的工作方式不同

时间:2016-11-11 02:23:35

标签: android-linearlayout expandablelistview

我正在尝试使用ExpandableListView实现一个书籍内容选择器,但我发现在ELV内部,LinearLayout似乎与在活动中的工作方式不同。

为了说明我想要做的事情,这是我到目前为止所处的位置:

屏幕截图

enter image description here

请注意,当文本换行到下一行时,TextView会填充可用空间并将垂直线(和groupView中的按钮)对齐(第1.1和3节),但如果文本没有换行,则TextView只占用所需的空间。

这是子视图布局,组视图类似但有一个按钮。

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:orientation="horizontal"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@android:color/white" >

        <View android:layout_width="3dp" android:layout_height="match_parent" android:background="#000000" />
        <View android:layout_width="10dp" android:layout_height="match_parent" />

        <TextView
            android:id="@+id/sectionNumber"
            android:layout_width="65sp"
            android:layout_height="wrap_content"
            android:textSize="18sp" />

        <TextView
            android:id="@+id/sectionTitle"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:textSize="18sp" />

        <View android:layout_width="6dp" android:layout_height="match_parent" />
        <View android:layout_width="3dp" android:layout_height="match_parent" android:background="#000000" />

    </LinearLayout>

当我在ExpandableListView之外尝试这个时,它按预期工作。我错过了什么?

1 个答案:

答案 0 :(得分:0)

问题出在片段xml布局的其他地方:

<ExpandableListView
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight="1"
    android:id="@+id/expandableListView" />

layout_width设置为“wrap_content”,应该是“match_parent”