滚动视图下方的对象未显示

时间:2014-03-08 06:10:39

标签: android android-layout scrollview android-linearlayout relativelayout

我有线性布局,其中包含滚动视图和相对布局,滚动视图显示但滚动视图下方的相对布局对象消失了。我发布了我的代码。我不知道我在哪里做错了......

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

        <ScrollView
            android:id="@+id/scrollView1"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical" >

            <RelativeLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:gravity="bottom" >

                <ImageView
                    android:id="@+id/imageView1"
                    android:layout_width="match_parent"
                    android:layout_height="250dp"
                    android:layout_alignParentLeft="true"
                    android:layout_alignParentTop="true"
                    android:contentDescription="@string/mcontentdescription"
                    android:src="@drawable/tiger1" />

                <View
                    android:id="@+id/horizontalline"
                    android:layout_width="match_parent"
                    android:layout_height="5dp"
                    android:layout_alignParentLeft="true"
                    android:layout_below="@+id/mcomment"
                    android:background="#EA6332" />

                <EditText
                    android:id="@+id/editText1"
                    android:layout_width="300dp"
                    android:layout_height="40dp"
                    android:layout_alignParentLeft="true"
                    android:layout_below="@+id/horizontalline"
                    android:layout_marginLeft="15dp"
                    android:layout_marginTop="10dp"
                    android:background="@drawable/redittext"
                    android:ems="10"
                    android:hint="@string/mhint" 
                    android:inputType="none"
                    android:ellipsize="start"
                    android:gravity="center_vertical"
                    android:paddingLeft="15dp"
                    android:singleLine="true"
                    android:enabled="false"/>

                <View
                    android:id="@+id/grayline"
                    android:layout_width="match_parent"
                    android:layout_height="1dp"
                    android:layout_alignParentLeft="true"
                    android:layout_below="@+id/editText1"
                    android:layout_marginTop="5dp"
                    android:background="#969696" />

                <Button
                    android:id="@+id/mbtn1"
                    style="?android:attr/buttonStyleSmall"
                    android:layout_width="110dp"
                    android:layout_height="55dp"
                    android:layout_below="@+id/imageView1"
                    android:layout_toRightOf="@+id/mcomment"
                    android:drawableLeft="@drawable/like1"
                    android:gravity="center"
                    android:paddingRight="10dp"
                    android:text="@string/mbtn2"
                    android:textAlignment="textEnd" />

                <Button
                    android:id="@+id/mbtn2"
                    style="?android:attr/buttonStyleSmall"
                    android:layout_width="110dp"
                    android:layout_height="55dp"
                    android:layout_above="@+id/horizontalline"
                    android:layout_toRightOf="@+id/mbtn1"
                    android:drawableLeft="@drawable/all"
                    android:gravity="center"
                    android:paddingRight="10dp"
                    android:text="@string/mbtn3"
                    android:textAlignment="textEnd" />

                <Button
                    android:id="@+id/mcomment"
                    style="?android:attr/buttonStyleSmall"
                    android:layout_width="110dp"
                    android:layout_height="55dp"
                    android:layout_alignParentLeft="true"
                    android:layout_below="@+id/imageView1"
                    android:text="@string/mbtn1" />

                <LinearLayout
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_alignParentRight="true"
                    android:layout_alignTop="@+id/grayline"
                    android:orientation="vertical" >

                    <ListView
                        android:id="@+id/listView1"
                        android:layout_width="fill_parent"
                        android:layout_height="wrap_content" >
                    </ListView>


        <Button
            android:id="@+id/dilogbutton"
            style="?android:attr/buttonStyleSmall"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"

            android:text="@string/mcreatebutton"
            android:background="#FFFFFF" />

        <Button
            android:id="@+id/iwatbutton"
            style="?android:attr/buttonStyleSmall"
            android:layout_width="155dp"
            android:layout_height="wrap_content"

            android:text="@string/miwantbutton"
            android:background="#EA6332" 
            android:textColor="#FFFFFF"/>

        <Button
            android:id="@+id/doyubutton"
            style="?android:attr/buttonStyleSmall"
            android:layout_width="155dp"
            android:layout_height="wrap_content"

            android:text="@string/mdobutton"
            android:background="#EA6332"
            android:textColor="#FFFFFF" />

                </LinearLayout>

            </RelativeLayout>

        </ScrollView>

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

        <Button
            android:id="@+id/dialogbutton"
            style="?android:attr/buttonStyleSmall"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            android:layout_centerHorizontal="true"
            android:text="@string/mcreatebutton"
            android:background="#FFFFFF" />

        <Button
            android:id="@+id/iwantbutton"
            style="?android:attr/buttonStyleSmall"
            android:layout_width="155dp"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            android:layout_alignParentRight="true"
            android:text="@string/miwantbutton"
            android:background="#EA6332" 
            android:textColor="#FFFFFF"/>

        <Button
            android:id="@+id/doyoubutton"
            style="?android:attr/buttonStyleSmall"
            android:layout_width="155dp"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            android:layout_alignParentLeft="true"
            android:text="@string/mdobutton"
            android:background="#EA6332"
            android:textColor="#FFFFFF" />

        </RelativeLayout>

</LinearLayout>

4 个答案:

答案 0 :(得分:2)

这是由于imageView1LinearLayout的大小与ListView和三个按钮,因此修改它们:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
       android:layout_width="fill_parent"
       android:layout_height="fill_parent"
       android:orientation="vertical" >

<ScrollView
    android:id="@+id/scrollView1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical" >

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="bottom" >

        <ImageView
            android:id="@+id/imageView1"
            android:layout_width="match_parent"
            android:layout_height="180dp"
            android:layout_alignParentLeft="true"
            android:layout_alignParentTop="true"
            android:src="@drawable/ic_launcher" />

        <View
            android:id="@+id/horizontalline"
            android:layout_width="match_parent"
            android:layout_height="5dp"
            android:layout_alignParentLeft="true"
            android:layout_below="@+id/mcomment"
            android:background="#EA6332" />

        <EditText
            android:id="@+id/editText1"
            android:layout_width="300dp"
            android:layout_height="40dp"
            android:layout_alignParentLeft="true"
            android:layout_below="@+id/horizontalline"
            android:layout_marginLeft="15dp"
            android:layout_marginTop="10dp"
            android:ellipsize="start"
            android:ems="10"
            android:enabled="false"
            android:gravity="center_vertical"
            android:hint="@string/comment"
            android:inputType="none"
            android:paddingLeft="15dp"
            android:singleLine="true" />

        <View
            android:id="@+id/grayline"
            android:layout_width="match_parent"
            android:layout_height="2dp"
            android:layout_alignParentLeft="true"
            android:layout_below="@+id/editText1"
            android:layout_marginTop="5dp"
            android:background="#969696" />

        <Button
            android:id="@+id/mbtn1"
            style="?android:attr/buttonStyleSmall"
            android:layout_width="110dp"
            android:layout_height="55dp"
            android:layout_below="@+id/imageView1"
            android:layout_toRightOf="@+id/mcomment"
            android:gravity="center"
            android:paddingRight="10dp"
            android:text="@string/button"
            android:textAlignment="textEnd" />

        <Button
            android:id="@+id/mbtn2"
            style="?android:attr/buttonStyleSmall"
            android:layout_width="110dp"
            android:layout_height="55dp"
            android:layout_above="@+id/horizontalline"
            android:layout_toRightOf="@+id/mbtn1"
            android:gravity="center"
            android:paddingRight="10dp"
            android:text="@string/button"
            android:textAlignment="textEnd" />

        <Button
            android:id="@+id/mcomment"
            style="?android:attr/buttonStyleSmall"
            android:layout_width="110dp"
            android:layout_height="55dp"
            android:layout_alignParentLeft="true"
            android:layout_below="@+id/imageView1"
            android:text="@string/button" />

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentRight="true"
            android:layout_below="@+id/grayline"
            android:orientation="vertical" >

            <ListView
                android:id="@+id/listView1"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content" >
            </ListView>

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_below="@+id/listView1"
                android:orientation="horizontal" >

                <Button
                    android:id="@+id/dilogbutton"
                    style="?android:attr/buttonStyleSmall"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:background="#FFFFFF" />

                <Button
                    android:id="@+id/iwatbutton"
                    style="?android:attr/buttonStyleSmall"
                    android:layout_width="155dp"
                    android:layout_height="wrap_content"
                    android:background="#EA6332"
                    android:text="@string/button"
                    android:textColor="#FFFFFF" />

                <Button
                    android:id="@+id/doyubutton"
                    style="?android:attr/buttonStyleSmall"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:background="#EA6332"
                    android:text="@string/button"
                    android:textColor="#FFFFFF" />
            </LinearLayout>
        </LinearLayout>
    </RelativeLayout>
</ScrollView>

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_below="@+id/scrollView1" >

    <Button
        android:id="@+id/dialogbutton"
        style="?android:attr/buttonStyleSmall"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_centerHorizontal="true"
        android:background="#FFFFFF" />

    <Button
        android:id="@+id/iwantbutton"
        style="?android:attr/buttonStyleSmall"
        android:layout_width="120dp"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_alignParentRight="true"
        android:background="#EA6332"
        android:textColor="#FFFFFF" />

    <Button
        android:id="@+id/doyoubutton"
        style="?android:attr/buttonStyleSmall"
        android:layout_width="120dp"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_alignParentLeft="true"
        android:background="#EA6332"
        android:text="@string/button"
        android:textColor="#FFFFFF" />
</RelativeLayout>
</LinearLayout>

DummyLayout是:

enter image description here

答案 1 :(得分:1)

您的ScrollView似乎占据整个屏幕。您应该使用RelativeLayout作为根布局,并对ScrollView和内部RelativeLayout使用以下属性。

<ScrollView
        android:id="@+id/scrollView1"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_above="@+id/innerRelative"
        android:orientation="vertical" >

 <RelativeLayout
     android:id="@+id/innerRelative"
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
     android:layout_alignParentBottom="true">

注意:在ScrollView中包装ListView并不是一个好习惯。

答案 2 :(得分:0)

使用相对布局并添加滚动视图父顶部和此相对布局的任何布局底部......

答案 3 :(得分:0)

执行此操作:

<ScrollView
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight="1" >