【问题标题】:View contents below ExpandableListView在 ExpandableListView 下方查看内容
【发布时间】:2012-08-27 02:05:44
【问题描述】:

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

有什么方法可以让我滚动查看我的TextViews?

这是我的示例 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>

【问题讨论】:

  • 你是否尝试过修复可展开列表视图的高度,并在新的线性布局下添加整个文本视图并添加滚动。
  • 是的,我试过了,但它只会使 textview 可滚动,并且当 expandablelistview 展开时,textview 周围的布局会隐藏在屏幕下方。现在我希望整个东西(expandablelistview 和 textview)都是可滚动的。另外,我不想修复我的可展开列表视图的高度。
  • 那么另一种方法是将文本视图添加到可扩展列表视图中,其中子计数为 0,因此它不会扩展但看起来像一行
  • 我已经考虑过了,但没有写出来,因为我的可扩展列表视图具有动态值,并且它下面的一堆文本视图具有不同的布局。除此之外还有其他可能吗?还是我必须尝试坚持下去?

标签: android textview scrollview expandablelistview android-ui


【解决方案1】:

我遇到了类似的问题,并用这个布局解决了它。重要的部分是在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>

【讨论】:

    猜你喜欢
    • 2015-12-13
    • 1970-01-01
    • 1970-01-01
    • 2020-10-10
    • 1970-01-01
    • 2016-04-02
    • 2011-09-06
    • 2017-12-20
    • 2012-04-08
    相关资源
    最近更新 更多