【问题标题】:scroll view doesnt scroll as expected滚动视图没有按预期滚动
【发布时间】:2013-07-25 18:31:08
【问题描述】:

在我的 xml 布局中,我在同一个文件中有 2 个单独的布局,一个图片网格,然后是一个全屏图像视图。问题是图片网格向下滚动到底部但不是一直到顶部,图片被切断。我不确定为什么会发生这种情况,这是我的 xml 文件:

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

<LinearLayout
        android:layout_width="fill_parent"
        android:orientation="vertical"
        android:layout_height="fill_parent"
        android:id="@+id/full_image"
        android:visibility="gone"
        android:background="#00000000">

    <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Return"
            android:id="@+id/button1"
            android:background="#fff"
            android:layout_marginTop="5dp"
            android:layout_marginLeft="5dp"
            android:layout_marginBottom="0dp"
            android:layout_gravity="left|center_vertical"/>

    <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/TitleText3"
            android:textStyle="bold"
            android:layout_gravity="center"
            android:textColor="#fff"
            android:textIsSelectable="false"
            android:layout_marginBottom="-50dp"
            />

    <ImageView
            android:id="@+id/full_image_view"
            android:layout_width="fill_parent"
            android:layout_height="450dp"
            android:clickable="true"
            android:background="#00000000"
            android:layout_marginBottom="35dp"/>

    <SeekBar
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:id="@+id/seekBar"
            android:layout_gravity="left|center_vertical"
            android:layout_marginTop="-110dp"
            android:max="26"
            android:longClickable="false"/>
</LinearLayout>

<ScrollView

        android:orientation="vertical"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_gravity="left|center_vertical"
        android:id="@+id/rows">



<LinearLayout
        android:orientation="vertical"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="left|center_vertical"
        >


    <LinearLayout
            android:orientation="horizontal"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="left|center_vertical"
            android:weightSum="0"
            android:id="@+id/row1"
            android:layout_marginTop="5dp">
        <ImageView
                android:id="@+id/image1"
                android:layout_width="100dp"
                android:layout_height="75dp"
                android:layout_weight="20"
                android:clickable="true"
                android:background="@drawable/plane1"/>
        <ImageView
                android:id="@+id/image2"
                android:layout_width="100dp"
                android:layout_height="75dp"
                android:layout_weight="20"
                android:background="@drawable/plane2"
                android:clickable="true"
                android:layout_marginLeft="5dp"/>
        <ImageView
                android:id="@+id/image3"
                android:layout_width="100dp"
                android:layout_height="75dp"
                android:background="@drawable/plane3"
                android:clickable="true"
                android:layout_marginLeft="5dp"
                android:layout_weight="20"/>
        <ImageView
                android:id="@+id/image4"
                android:layout_width="100dp"
                android:layout_height="75dp"
                android:layout_weight="20"
                android:background="@drawable/plane4"
                android:clickable="true"
                android:layout_marginLeft="5dp"
                android:adjustViewBounds="true"/>
    </LinearLayout>
    <LinearLayout

            android:orientation="horizontal"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="5dp"
            android:id="@+id/row2">
        <ImageView
                android:id="@+id/image5"
                android:layout_width="100dp"
                android:layout_height="75dp"
                android:layout_weight="20"
                android:clickable="true"
                android:background="@drawable/plane5"/>
        <ImageView
                android:id="@+id/image6"
                android:layout_width="100dp"
                android:layout_height="75dp"
                android:layout_weight="20"
                android:background="@drawable/plane6"
                android:clickable="true"
                android:layout_marginLeft="5dp"/>

        <ImageView
                android:id="@+id/image7"
                android:layout_width="100dp"
                android:layout_height="75dp"
                android:background="@drawable/plane7"
                android:clickable="true"
                android:layout_marginLeft="5dp"
                android:layout_weight="20"/>
        <ImageView
                android:id="@+id/image8"
                android:layout_width="100dp"
                android:layout_height="75dp"
                android:layout_weight="20"
                android:background="@drawable/plane8"
                android:clickable="true"
                android:layout_marginLeft="5dp"/>

    </LinearLayout>
    <LinearLayout
            android:orientation="horizontal"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="5dp"
            android:id="@+id/row3">

        <ImageView
                android:id="@+id/image9"
                android:layout_width="100dp"
                android:layout_height="75dp"
                android:layout_weight="20"
                android:clickable="true"
                android:background="@drawable/plane9"/>
        <ImageView
                android:id="@+id/image10"
                android:layout_width="100dp"
                android:layout_height="75dp"
                android:layout_weight="20"
                android:background="@drawable/plane10"
                android:clickable="true"
                android:layout_marginLeft="5dp"/>
        <ImageView
                android:id="@+id/image11"
                android:layout_width="100dp"
                android:layout_height="75dp"
                android:background="@drawable/plane11"
                android:clickable="true"
                android:layout_marginLeft="5dp"
                android:layout_weight="20"/>
        <ImageView
                android:id="@+id/image12"
                android:layout_width="100dp"
                android:layout_height="75dp"
                android:layout_weight="20"
                android:background="@drawable/plane12"
                android:clickable="true"
                android:layout_marginLeft="5dp"/>
    </LinearLayout>

    <LinearLayout
            android:orientation="horizontal"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="5dp"
            android:id="@+id/row4">

        <ImageView
                android:id="@+id/image13"
                android:layout_width="100dp"
                android:layout_height="75dp"
                android:layout_weight="20"
                android:clickable="true"
                android:background="@drawable/plane13"/>
        <ImageView
                android:id="@+id/image14"
                android:layout_width="100dp"
                android:layout_height="75dp"
                android:layout_weight="20"
                android:background="@drawable/plane14"
                android:clickable="true"
                android:layout_marginLeft="5dp"/>
        <ImageView
                android:id="@+id/image15"
                android:layout_width="100dp"
                android:layout_height="75dp"
                android:background="@drawable/plane15"
                android:clickable="true"
                android:layout_marginLeft="5dp"
                android:layout_weight="20"/>
        <ImageView
                android:id="@+id/image16"
                android:layout_width="100dp"
                android:layout_height="75dp"
                android:layout_weight="20"
                android:background="@drawable/plane16"
                android:clickable="true"
                android:layout_marginLeft="5dp"/>
    </LinearLayout>
    <LinearLayout
            android:orientation="horizontal"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="5dp"
            android:id="@+id/row5">

        <ImageView
                android:id="@+id/image17"
                android:layout_width="100dp"
                android:layout_height="75dp"
                android:layout_weight="20"
                android:clickable="true"
                android:background="@drawable/plane17"/>
        <ImageView
                android:id="@+id/image18"
                android:layout_width="100dp"
                android:layout_height="75dp"
                android:layout_weight="20"
                android:background="@drawable/plane18"
                android:clickable="true"
                android:layout_marginLeft="5dp"/>
        <ImageView
                android:id="@+id/image19"
                android:layout_width="100dp"
                android:layout_height="75dp"
                android:background="@drawable/plane19"
                android:clickable="true"
                android:layout_marginLeft="5dp"
                android:layout_weight="20"/>
        <ImageView
                android:id="@+id/image20"
                android:layout_width="100dp"
                android:layout_height="75dp"
                android:layout_weight="20"
                android:clickable="true"
                android:layout_marginLeft="5dp"
                android:background="@drawable/plane20"/>
    </LinearLayout>
    <LinearLayout
            android:orientation="horizontal"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="5dp"
            android:id="@+id/row6">

        <ImageView
                android:id="@+id/image21"
                android:layout_width="100dp"
                android:layout_height="75dp"
                android:layout_weight="20"
                android:clickable="true"
                android:background="@drawable/plane21"/>
        <ImageView
                android:id="@+id/image22"
                android:layout_width="100dp"
                android:layout_height="75dp"
                android:layout_weight="20"
                android:background="@drawable/plane22"
                android:clickable="true"
                android:layout_marginLeft="5dp"/>
        <ImageView
                android:id="@+id/image23"
                android:layout_width="100dp"
                android:layout_height="75dp"
                android:background="@drawable/plane23"
                android:clickable="true"
                android:layout_marginLeft="5dp"
                android:layout_weight="20"/>
        <ImageView
                android:id="@+id/image24"
                android:layout_width="100dp"
                android:layout_height="75dp"
                android:layout_weight="20"
                android:clickable="true"
                android:layout_marginLeft="5dp"
                android:background="@drawable/plane24"/>
    </LinearLayout>
    <LinearLayout
            android:orientation="horizontal"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="5dp"
            android:id="@+id/row8">

        <ImageView
                android:id="@+id/image25"
                android:layout_width="100dp"
                android:layout_height="75dp"
                android:layout_weight="20"
                android:clickable="true"
                android:background="@drawable/plane25"/>
        <ImageView
                android:id="@+id/image26"
                android:layout_width="100dp"
                android:layout_height="75dp"
                android:layout_weight="20"
                android:background="@drawable/plane26"
                android:clickable="true"
                android:layout_marginLeft="5dp"/>
        <ImageView

                android:layout_width="100dp"
                android:layout_height="75dp"
                android:layout_weight="20"
                android:clickable="true"
                android:layout_marginLeft="5dp"/>
        <ImageView

                android:layout_width="100dp"
                android:layout_height="75dp"
                android:layout_weight="20"
                android:clickable="true"
                android:layout_marginLeft="5dp"/>
    </LinearLayout>
    <LinearLayout
            android:orientation="horizontal"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="5dp"
            android:id="@+id/row8">

        <ImageView
                android:id="@+id/image27"
                android:layout_width="100dp"
                android:layout_height="75dp"
                android:layout_weight="20"
                android:clickable="true"
                android:background="@drawable/plane25"/>
        <ImageView
                android:id="@+id/image28"
                android:layout_width="100dp"
                android:layout_height="75dp"
                android:layout_weight="20"
                android:background="@drawable/plane26"
                android:clickable="true"
                android:layout_marginLeft="5dp"/>
        <ImageView

                android:layout_width="100dp"
                android:layout_height="75dp"
                android:layout_weight="20"
                android:clickable="true"
                android:layout_marginLeft="5dp"/>
        <ImageView

                android:layout_width="100dp"
                android:layout_height="75dp"
                android:layout_weight="20"
                android:clickable="true"
                android:layout_marginLeft="5dp"/>
    </LinearLayout>
</LinearLayout>
</ScrollView>

【问题讨论】:

  • 您使用 fill_parent 作为滚动视图尺寸。有什么具体原因吗?我倾向于使用 match_parent 或 wrap_content,我没有这个问题。

标签: android xml view scroll


【解决方案1】:

您似乎在结尾处缺少 LinearLayout 标记。

您以父 LinearLayout 声明开始文件,并且永远不会有结束 &lt;/LinearLayout&gt; 标记来匹配它。

尝试将&lt;/LinearLayout&gt; 添加到最后,紧跟在&lt;/ScrollView&gt; 之后。

【讨论】:

  • 我检查了我的布局,它在那里,当我把代码放在这里时,它一定没有被复制过来。 intelij 不会告诉我这是错误吗?
  • 尝试将ScrollView 的宽度和高度更改为wrap_content。同样对ScrollView 中的第一个LinearLayout 执行相同操作。
  • 您是否考虑过仅使用父 LinearLayout 创建一个新布局并开始添加当前布局的部分(或块),以查看哪些有效,然后何时停止工作?
猜你喜欢
  • 1970-01-01
  • 2014-10-30
  • 1970-01-01
  • 2020-04-03
  • 1970-01-01
  • 1970-01-01
  • 2013-01-25
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多