【问题标题】:how to make listview to take its appropriate lenght without scroll如何使列表视图在不滚动的情况下采取适当的长度
【发布时间】:2016-03-30 17:58:04
【问题描述】:

我正在创建一个自定义下拉菜单,其中自定义下拉菜单是使用相对布局和列表视图创建的,在点击相对布局时我使列表视图可见并且消失了,所以像这样一个接一个垂直有许多下拉菜单。如果不放置滚动视图,它可以正常工作,这里的问题是,如果我将 scrollview 应用于整个布局 dropdown(使用 listview 制作) 将只占用一些空间并在 listview 本身内部它可以在该空间内滚动。但我希望它在不滚动列表视图的情况下显示为原样。我怎么能这样做。欢迎任何帮助和建议。

无滚动视图

带有滚动视图

在这里我希望它在没有滚动视图图像的情况下出现,即使我将滚动视图应用于整个布局(这里整个布局包含下拉列表的数量,如图所示。)

 <ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:fillViewport="true">
<RelativeLayout
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:padding="8dp"
            android:id="@+id/layoutView"

            android:background="@drawable/customborder">
            <LinearLayout
                android:layout_centerVertical="true"
                android:id="@+id/Text"
                android:orientation="vertical"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:paddingLeft="10dip">
                <TextView
                    android:id="@+id/viewtext"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="-Select-"
                    android:textColor="#ff3333"
                    android:textSize="10dip" />
            </LinearLayout>
            <ImageView
                android:id="@+id/imageView4"
                android:layout_width="20dp"
                android:layout_height="20dp"
                android:padding="0dp"
                android:src="@drawable/DropDownArrowIcon"
                android:layout_alignParentRight="true" />
        </RelativeLayout>
        <LinearLayout
            android:id="@+id/listViewborder"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="#2AACFF"
            android:gravity="center_horizontal"
            android:orientation="vertical"
            android:padding="0.5dp">
            <ListView
                android:layout_margin="1dp"
                android:id="@+id/listView"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:cacheColorHint="#57585B"
                android:divider="@drawable/list_divider"
                android:dividerHeight="1dp" />
        </LinearLayout>

        <TextView
            android:text="Type of bussinness"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:id="@+id/bankInvesttxt"
            android:textSize="15dp"
            android:layout_marginTop="5dp"
            android:layout_marginBottom="5dp" />
        <RelativeLayout
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:padding="8dp"
            android:id="@+id/layoutView"
            android:background="@drawable/customborder">
            <LinearLayout
                android:layout_centerVertical="true"
                android:id="@+id/bankInvestTextlayout"
                android:orientation="vertical"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:paddingLeft="10dip">
                <TextView
                    android:id="@+id/bankInvestviewtext"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="-Select-"
                    android:textColor="#FFFFFF"
                    android:textSize="10dip" />
            </LinearLayout>
            <ImageView
                android:id="@+id/bankInvestimageView"
                android:layout_width="20dp"
                android:layout_height="20dp"
                android:padding="0dp"
                android:src="@drawable/DropDownArrowIcon"
                android:layout_alignParentRight="true" />
        </RelativeLayout>
        <LinearLayout
            android:id="@+id/bankInvestlistViewborder"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="#2AACFF"
            android:gravity="center_horizontal"
            android:orientation="vertical"
            android:padding="0.5dp">
            <ListView
                android:layout_margin="1dp"
                android:id="@+id/bankInvestlistView"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:cacheColorHint="#57585B"
                android:divider="@drawable/list_divider"
                android:dividerHeight="1dp" />
        </LinearLayout>
</ScrollView>

【问题讨论】:

  • 1. scrollview 只有一个孩子。 2.scrollview有焦点滚动listview不。
  • 你能简单解释一下吗
  • 那会在运行时崩溃,scrollView 只能有一个直接的孩子(你有 5 个)。无论如何,您可以为 listView 设置一个固定的高度(在代码中,这样您就可以对所需的高度进行数学运算)或使用 LinearLayout 更改列表。
  • @Nanoc 在这里我将滚动视图应用于我的整个布局。单击相对布局,包含带有隐藏和显示的列表视图的线性布局。查看我更新的相关图像
  • @Amit Vaghela 用图片查看我更新的问题

标签: android listview


【解决方案1】:

试试这个: layoutView onClick 设置可见性为可见 listView 和 listview itemselected 设置可见性为消失。 (对两个下拉菜单执行此操作)

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <RelativeLayout
        android:id="@+id/layoutView"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:padding="8dp" >

        <LinearLayout
            android:id="@+id/Text"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerVertical="true"
            android:orientation="vertical"
            android:paddingLeft="10dip" >

            <TextView
                android:id="@+id/viewtext"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="-Select-"
                android:textColor="#ff3333"
                android:textSize="10dip" />
        </LinearLayout>

        <ImageView
            android:id="@+id/imageView4"
            android:layout_width="20dp"
            android:layout_height="20dp"
            android:layout_alignParentRight="true"
            android:padding="0dp" />
    </RelativeLayout>

    <LinearLayout
        android:id="@+id/listViewborder"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="#2AACFF"
        android:gravity="center_horizontal"
        android:orientation="vertical"
        android:layout_below="@+id/layoutView"
        android:visibility="gone"
        android:padding="0.5dp" >

        <ListView
            android:id="@+id/listView"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_margin="1dp"
            android:cacheColorHint="#57585B"
            android:dividerHeight="1dp" />
    </LinearLayout>

    <TextView
        android:id="@+id/bankInvesttxt"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginBottom="5dp"
        android:layout_marginTop="5dp"
        android:text="Type of bussinness"
        android:layout_below="@+id/layoutView"
        android:textSize="15dp" />

    <RelativeLayout
        android:id="@+id/rel"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_below="@+id/bankInvesttxt"
        android:padding="8dp" >

        <LinearLayout
            android:id="@+id/bankInvestTextlayout"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerVertical="true"
            android:orientation="vertical"
            android:paddingLeft="10dip" >

            <TextView
                android:id="@+id/bankInvestviewtext"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="-Select-"
                android:textColor="#FFFFFF"
                android:textSize="10dip" />
        </LinearLayout>

        <ImageView
            android:id="@+id/bankInvestimageView"
            android:layout_width="20dp"
            android:layout_height="20dp"
            android:layout_alignParentRight="true"
            android:padding="0dp" />
    </RelativeLayout>

    <LinearLayout
        android:id="@+id/bankInvestlistViewborder"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="#2AACFF"
        android:gravity="center_horizontal"
        android:orientation="vertical"        
        android:visibility="gone"
        android:layout_below="@+id/rel"
        android:padding="0.5dp" >

        <ListView
            android:id="@+id/bankInvestlistView"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_margin="1dp"
            android:cacheColorHint="#57585B"
            android:dividerHeight="1dp" />
    </LinearLayout>

</RelativeLayout>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-21
    • 1970-01-01
    • 2020-11-25
    • 1970-01-01
    • 2021-12-26
    相关资源
    最近更新 更多