android - 查看下面的内容 ExpandableListView

标签 android textview scrollview expandablelistview android-ui

我的 .xml 文件中的 ExpandableListView 下面有一组 TextView。当列表展开时,所有 TextView 都隐藏在屏幕下方。我尝试将我的列表放在 ScrollView 中,结果证明这是一个非常糟糕的主意。

有什么方法可以让我滚动和查看我的 TextView

这是我的示例 xml 布局,可能会有一些用处..

<RelativeLayout 
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical" >

        <TextView
            android:id="@+id/textview1"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_marginLeft="10dp"
            android:layout_marginRight="10dp"
            android:layout_marginTop="10dp"
            android:layout_alignParentTop="true" />

        <ExpandableListView
            android:id="@+id/elv"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_below="@id/textview1"
            android:layout_marginLeft="10dp"
            android:layout_marginRight="10dp"
            android:groupIndicator="@null" />

        <TextView
                android:id="@+id/tvone"
                android:layout_width="fill_parent"
                android:layout_height="50dp"
                android:layout_marginTop="1dp"
                android:layout_below="@id/elv"
                android:background="@android:color/white"
                android:drawableRight="@drawable/arrow_left_grey"
                android:gravity="center_vertical"
                android:paddingLeft="15dp"
                android:paddingRight="20dp"
                android:text="xyz" />


        <LinearLayout
            android:id="@+id/middle"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@id/tvone"
            android:layout_margin="10dp"
            android:orientation="vertical" >

            <TextView
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:background="@drawable/number" />

            <TextView
                android:layout_width="fill_parent"
                android:layout_height="50dp"
                android:background="@android:color/white"
                android:drawableRight="@drawable/arrow_left_grey"
                android:gravity="center_vertical"
                android:paddingLeft="15dp"
                android:paddingRight="20dp"
                android:text="number1" />

            <TextView
                android:layout_width="fill_parent"
                android:layout_height="50dp"
                android:layout_marginTop="1dp"
                android:background="@android:color/white"
                android:gravity="center_vertical"
                android:paddingLeft="15dp"
                android:paddingRight="20dp"
                android:text="number2" />

            <TextView
                android:layout_width="fill_parent"
                android:layout_height="50dp"
                android:layout_marginTop="1dp"
                android:background="@android:color/white"
                android:drawableRight="@drawable/arrow_left_grey"
                android:gravity="center_vertical"
                android:paddingLeft="15dp"
                android:paddingRight="20dp"
                android:text="number3" />

            <TextView
                android:layout_width="fill_parent"
                android:layout_height="50dp"
                android:layout_marginTop="1dp"
                android:drawableRight="@drawable/arrow_left_grey"
                android:gravity="center_vertical"
                android:paddingLeft="15dp"
                android:paddingRight="20dp"
                android:text="number4" />
        </LinearLayout>

        <LinearLayout
            android:id="@+id/bottom"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_margin="10dp"
            android:layout_below="@id/middle"
            android:orientation="vertical" >

            <TextView
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:background="@drawable/my_account" />

            <TextView
                android:layout_width="fill_parent"
                android:layout_height="50dp"
                android:background="@android:color/white"
                android:drawableRight="@drawable/arrow_left_grey"
                android:gravity="center_vertical"
                android:paddingLeft="15dp"
                android:paddingRight="20dp"
                android:text="number5" />

            <TextView
                android:layout_width="fill_parent"
                android:layout_height="50dp"
                android:layout_marginTop="1dp"
                android:background="@android:color/white"
                android:drawableRight="@drawable/arrow_left_grey"
                android:gravity="center_vertical"
                android:paddingLeft="15dp"
                android:paddingRight="20dp"
                android:text="number6" />

            <TextView
                android:layout_width="fill_parent"
                android:layout_height="50dp"
                android:layout_marginTop="1dp"
                android:background="@drawable/white_lable_bottom_"
                android:drawableRight="@drawable/arrow_left_grey"
                android:gravity="center_vertical"
                android:paddingLeft="15dp"
                android:paddingRight="20dp"
                android:text="Log out" />
        </LinearLayout>
    </RelativeLayout>

最佳答案

我遇到了类似的问题并用这个布局解决了它。重要的部分是在 ExpandableListView 中设置 layout_heightlayout_weight

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context="com.gp.MyFragment">

    <ExpandableListView
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_weight="1"
            android:id="@+id/expandableListView"
            android:layout_gravity="left|top"
            android:headerDividersEnabled="true"
            android:footerDividersEnabled="true"/>

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

        <TextView
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="3"/>
        <Button
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="Bailout"/>

    </LinearLayout>
</LinearLayout>

enter image description here

关于android - 查看下面的内容 ExpandableListView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12229164/

相关文章:

ios - 带有 subview Controller 的分页 ScrollView

android - 如何在Android内核中公开API

Android:如何设置通知的辅助图标?

android - 如何防止 ImageView 重叠?

Android Textview 文本大小由 XML 和 Java 设置不同

android - Android 中对 TextView 的从右到左支持

ios - 查找用户在 ScrollView 中拖动手指的 X 位置

Android ScrollView 在页面底部留下额外的空间

android - 如何缩放打开的街道 map

java - 使用 Room Entity 返回列表包含整数而不是预期类型