如何在android中设置ListView的fix hight,使其可以像下拉菜单一样工作

如何在android中设置ListView的fix hight,使其可以像下拉菜单一样工作,android,android-layout,android-listview,Android,Android Layout,Android Listview,我制作了一个简单的屏幕,其中我放置了2个ListView,我想在android中使用它们作为下拉列表,但是当我单击一个textView并使ListView可见时,布局会转到该ListView的下方。因此我想固定ListView的高度,我尝试了以下方法: main.xml <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.an

我制作了一个简单的屏幕,其中我放置了2个ListView,我想在android中使用它们作为下拉列表,但是当我单击一个textView并使ListView可见时,布局会转到该ListView的下方。因此我想固定ListView的高度,我尝试了以下方法:

main.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/splash1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="#ffffff"
    android:padding="5dp" >

    <ScrollView
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_above="@+id/bottom_tab"
        android:fillViewport="true" >

        <RelativeLayout
            android:id="@+id/rl_main"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent" >

            <TextView
                android:id="@+id/title"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_alignParentTop="true"
                android:background="#cecece"
                android:gravity="left"
                android:padding="5dp"
                android:text="Shipping Method"
                android:textColor="#545454" />

            <RelativeLayout
                android:id="@+id/rl_body"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:layout_below="@+id/title" >

                <LinearLayout
                    android:id="@+id/ll_one"
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content"
                    android:orientation="horizontal"
                    android:padding="5dp"
                    android:weightSum="5" >

                    <TextView
                        android:id="@+id/tv_ship"
                        android:layout_width="fill_parent"
                        android:layout_height="fill_parent"
                        android:layout_weight="3"
                        android:gravity="center_vertical"
                        android:text="label:" />

                    <TextView
                        android:id="@+id/tv_ship_detail"
                        android:layout_width="fill_parent"
                        android:layout_height="fill_parent"
                        android:layout_weight="2"
                        android:gravity="center_vertical"
                        android:text="Buyer or buyer&apos;s agent responsible for Customs clearance. Longer shipping time." />
                </LinearLayout>

                <RelativeLayout
                    android:id="@+id/ll_two"
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content"
                    android:layout_below="@+id/ll_one"
                    android:orientation="horizontal"
                    android:weightSum="5" >

                    <TextView
                        android:id="@+id/tv_terms"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_alignParentLeft="true"
                        android:layout_marginTop="10dp"
                        android:text="Shipping Terms" />

                    <RelativeLayout
                        android:id="@+id/rl_List"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_marginLeft="15dp"
                        android:layout_toRightOf="@+id/tv_terms" >

                        <TextView
                            android:id="@+id/tv_terms_list"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:background="@drawable/txt_box_hover"
                            android:gravity="center"
                            android:text="FOB" />

                        <ListView
                            android:id="@android:id/list"
                            android:layout_width="180dp"
                            android:layout_height="0dip"
                            android:layout_alignParentRight="true"
                            android:layout_below="@+id/tv_terms_list"
                            android:layout_marginRight="5dp"
                            android:layout_weight="1"
                            android:background="#545454"
                            android:padding="5dp"
                            android:visibility="gone" />
                    </RelativeLayout>
                </RelativeLayout>

                <RelativeLayout
                    android:id="@+id/ll_three"
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content"
                    android:layout_below="@+id/ll_two"
                    android:layout_marginTop="5dp" >

                    <TextView
                        android:id="@+id/tv_port"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_marginTop="10dp"
                        android:text="Destination Port" />

                    <RelativeLayout
                        android:id="@+id/rl_CountryList"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_marginLeft="15dp"
                        android:layout_toRightOf="@+id/tv_port" >

                        <TextView
                            android:id="@+id/tv_country_list"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:background="@drawable/txt_box_hover"
                            android:gravity="center"
                            android:text="Afghanistan" />

                        <ListView
                            android:id="@+id/country_list"
                            android:layout_width="180dp"
                            android:layout_height="0dip"
                            android:layout_alignParentRight="true"
                            android:layout_below="@+id/tv_country_list"
                            android:layout_marginRight="5dp"
                            android:layout_weight="1"
                            android:background="#545454"
                            android:padding="5dp" />
                    </RelativeLayout>
                </RelativeLayout>

                <LinearLayout
                    android:id="@+id/ll_four"
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content"
                    android:layout_below="@+id/ll_three"
                    android:layout_marginTop="20dp"
                    android:gravity="center_vertical"
                    android:orientation="horizontal"
                    android:padding="5dp"
                    android:weightSum="5" >

                    <TextView
                        android:id="@+id/tv_inspection"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_marginLeft="5dp"
                        android:gravity="center_vertical"
                        android:text="Inspection:" />

                    <RadioGroup
                        android:id="@+id/rd_grp"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_toRightOf="@+id/tv_inspection"
                        android:orientation="horizontal"
                        android:paddingLeft="10dp"
                        android:paddingRight="10dp" >

                        <RadioButton
                            android:id="@+id/yes"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:text="Yes" >
                        </RadioButton>

                        <RadioButton
                            android:id="@+id/no"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:text="No" >
                        </RadioButton>
                    </RadioGroup>
                </LinearLayout>

                <LinearLayout
                    android:id="@+id/ll_five"
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content"
                    android:layout_below="@+id/ll_four"
                    android:orientation="horizontal"
                    android:padding="5dp"
                    android:visibility="gone"
                    android:weightSum="5" >

                    <TextView
                        android:id="@+id/tv_date"
                        android:layout_width="fill_parent"
                        android:layout_height="fill_parent"
                        android:layout_weight="3"
                        android:gravity="center_vertical"
                        android:text="Destination Port" />

                    <TextView
                        android:id="@+id/tv_date_pkr"
                        android:layout_width="fill_parent"
                        android:layout_height="fill_parent"
                        android:layout_weight="2"
                        android:background="@drawable/txt_box_hover"
                        android:gravity="center"
                        android:text="01/05/2014" />
                </LinearLayout>

                <LinearLayout
                    android:id="@+id/ll_six"
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content"
                    android:layout_below="@+id/ll_five"
                    android:orientation="horizontal"
                    android:padding="5dp"
                    android:visibility="gone"
                    android:weightSum="5" >

                    <TextView
                        android:id="@+id/tv_remarks"
                        android:layout_width="fill_parent"
                        android:layout_height="fill_parent"
                        android:layout_weight="3"
                        android:text="Order Remarks:" />

                    <EditText
                        android:id="@+id/et_remarks"
                        android:layout_width="fill_parent"
                        android:layout_height="50dp"
                        android:layout_weight="2"
                        android:background="@drawable/blk_editext"
                        android:text=""
                        android:textSize="12dp" />
                </LinearLayout>

                <TextView
                    android:id="@+id/tv_agree"
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content"
                    android:layout_below="@+id/ll_six"
                    android:background="#cecece"
                    android:padding="5dp"
                    android:text="Agreement:" />

                <WebView
                    android:id="@+id/tv_agreement"
                    android:layout_width="fill_parent"
                    android:layout_height="200dp"
                    android:layout_below="@+id/tv_agree"
                    android:background="#ffffff"
                    android:padding="5dp" />

                <LinearLayout
                    android:id="@+id/ll__eight"
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content"
                    android:layout_below="@+id/tv_agreement"
                    android:orientation="horizontal"
                    android:padding="5dp" >

                    <ImageView
                        android:id="@+id/iv_terms"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:background="@drawable/untic" />

                    <TextView
                        android:id="@+id/tv_trm_text"
                        android:layout_width="fill_parent"
                        android:layout_height="wrap_content"
                        android:layout_gravity="center_vertical"
                        android:text="I have read and agree the supplier&apos;s agreement."
                        android:textSize="12dp" />
                </LinearLayout>
            </RelativeLayout>
        </RelativeLayout>
    </ScrollView>

    <RelativeLayout
        android:id="@+id/bottom_tab"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:background="#ffffff" >

        <Button
            android:id="@+id/submit"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerHorizontal="true"
            android:background="@drawable/bg_blu_btn_selector"
            android:paddingLeft="5dp"
            android:paddingRight="5dp"
            android:text="Submit Order"
            android:textColor="#ffffff" />
    </RelativeLayout>

</RelativeLayout>

要设置ListView的高度,您需要设置layout_height=“120dp”(或您自己的dp或px值)。 不能在relativeLayout中使用权重属性。 因此,安卓sdk中有一个组件,它正在做您想要做的事情。它叫
这是一个下拉列表视图,它使用诸如common listview之类的适配器。

将您的listview放在一个外部布局中,并固定该布局的高度,如:

<LinearLayout
   android:layout_height="100dp">

   <ListView
       android:layout_height="fill_parent">
   </ListView>

</LinearLayout>


为什么使用列表视图只使用微调器irs好用为什么不使用
微调器
?使用
ListView
这样做太过分了,而且
ListView
从来都不是为这样的事情而设计的,很可能这就是你遇到问题的原因。您可以找到一些有关
微调器的文档。
。尽量避免在ScrollView中使用可滚动视图。@RahulGupta-多亏了yu.。在我的情况下,我使用的是,也和我告诉您的一样。两者都为我工作