Android ScrollView导致项目消失

时间:2012-11-09 11:13:37

标签: android scrollview popupwindow

我有以下布局来显示弹出窗口:

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/ppba_dimmer"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="@drawable/dimming"
        android:orientation="vertical">


        <LinearLayout 
            android:id="@+id/ppba_llPopup"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="100dp"
            android:layout_gravity="center"
            android:orientation="vertical" 
            android:background="@drawable/popup_bg">

            <!-- HEADER: Titol del Popup-->
            <TextView
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:gravity="center"
                android:textColor="#10bcc9"
                android:typeface="sans" 
                android:textSize="15dip"
                android:textStyle="bold"
                android:padding="12dip"
                android:text="@string/ppfa_tvTitolPopup" />

            <!-- Linia-->
            <View 
               android:background="#10bcc9" 
               android:layout_height="2dp"
               android:layout_marginLeft="2dip"
               android:layout_marginRight="2dip" 
               android:layout_width="fill_parent"/>

            <!-- Pais i Ciutat-->
            <TextView
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:textColor="#ffffff"
                android:text="@string/ppfa_tvPaisCiutat" 
                android:layout_marginLeft="5dip"
                android:layout_marginRight="5dip"/>

            <Spinner
                android:id="@+id/ppba_spPaisos"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_marginLeft="5dip"
                android:layout_marginRight="5dip" />

            <Spinner
                android:id="@+id/ppba_spCiutats"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_marginLeft="5dip"
                android:layout_marginRight="5dip"/>

            ....
                        (i crop it, just because it's too long)

        </LinearLayout>

    </LinearLayout>

此布局如下所示:

似乎我不允许发布图片,所以我给你链接here

我意识到在某些设备屏幕中弹出窗口会被裁剪,因为它太长了。所以我决定添加这样的Scrollview(在第二个LinearLayout之后,实际上是弹出窗口):

    <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/ppba_dimmer"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@drawable/dimming"
    android:orientation="vertical">


    <LinearLayout 
        android:id="@+id/ppba_llPopup"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="100dp"
        android:layout_gravity="center"
        android:orientation="vertical" 
        android:background="@drawable/popup_bg">

        <ScrollView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"  >

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

                <!-- HEADER: Titol del Popup-->
                <TextView
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content"
                    android:gravity="center"
                    android:textColor="#10bcc9"
                    android:typeface="sans" 
                    android:textSize="15dip"
                    android:textStyle="bold"
                    android:padding="12dip"
                    android:text="@string/ppfa_tvTitolPopup" />

                <!-- Linia-->
                <View 
                   android:background="#10bcc9" 
                   android:layout_height="2dp"
                   android:layout_marginLeft="2dip"
                   android:layout_marginRight="2dip" 
                   android:layout_width="fill_parent"/>

                <!-- Pais i Ciutat-->
                <TextView
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content"
                    android:textColor="#ffffff"
                    android:text="@string/ppfa_tvPaisCiutat" 
                    android:layout_marginLeft="5dip"
                    android:layout_marginRight="5dip"/>

                <Spinner
                    android:id="@+id/ppba_spPaisos"
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content"
                    android:layout_marginLeft="5dip"
                    android:layout_marginRight="5dip" />

                <Spinner
                    android:id="@+id/ppba_spCiutats"
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content"
                    android:layout_marginLeft="5dip"
                    android:layout_marginRight="5dip"/>

                ...

            </LinearLayout>

        </ScrollView>

    </LinearLayout>

</LinearLayout>

布局如下:

图片here

我尝试了不同的“layout_width”,每一个都给我带来了奇怪的结果。我很确定我做错了什么,但我无法弄清楚是什么。你能指点我好方向吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

也许只是因为<!-- HEADER: Titol del Popup-->之前的线性布局没有属性:

 android:orientation="vertical"