0

如何防止 ScrollView 在 LinearLayout 内容下滚动内容?ScrollView 只是使用了所有的显示空间,我不能限制这一点。尝试使用主要的相对和线性布局。

我的代码:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".MainActivity" >

<LinearLayout
    xmlns:myapp="http://schemas.android.com/apk/res/your.app.package"
    android:id="@+id/ad_layout"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal" >
</LinearLayout>

<ScrollView
    android:id="@+id/ScrollView1"
    android:layout_width="match_parent"
    android:layout_height="0px"
    android:layout_weight="1" >

<RelativeLayout
    android:id="@+id/RelativeLayout1"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:gravity="bottom"
    android:orientation="vertical" >

<ImageView
    android:id="@+id/imageView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerHorizontal="true"
    android:contentDescription="@string/image"
    android:onClick="openImage1"
    android:scaleType="fitStart"
    android:src="@drawable/loading"
    android:adjustViewBounds="true"
    android:background="#000000" />

</RelativeLayout>
</ScrollView>

</LinearLayout>
4

2 回答 2

1

您还没有发布完整的 XML 代码;我只能猜测这些元素都包含在LinearLayoutwithvertical方向中。

要让ScrollView填充 未占用的所有空间LinearLayout,请使用layout_weight

<ScrollView
    android:id="@+id/ScrollView1"
    android:layout_width="match_parent"
    android:layout_height="0px"
    android:layout_weight="1" >
于 2012-08-05T20:43:37.027 回答
1

对我来说,您的滚动视图中有一个 RelativeLayout 似乎有点奇怪。但是如果我正确理解了您的问题,您希望滚动视图位于您那里的上部 LinearLayout 下方。我猜您正在寻找类似以下的内容:(看看LinearLayout我添加的新内容和android:layout_below. 我还将外部布局更改为RelativeLayout; 再次,我不确定您到底在尝试什么做,但我希望这在某种程度上有所帮助。)

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
   xmlns:tools="http://schemas.android.com/tools"
   android:layout_width="match_parent"
   android:layout_height="match_parent"
   android:orientation="vertical"
   tools:context=".MainActivity" >

   <LinearLayout
   xmlns:myapp="http://schemas.android.com/apk/res/your.app.package"
   android:id="@+id/ad_layout"
   android:layout_width="match_parent"
   android:layout_height="wrap_content"
   android:orientation="horizontal" >
   </LinearLayout>

   <LinearLayout
      android:id="@+id/below_ad_layout"
      android:layout_width="match_parent"
      android:layout_height="wrap_content"
      android:orientation="vertical"
      android:layout_below="@+id/ad_layout" >
   <ScrollView
    android:id="@+id/ScrollView1"
    android:layout_width="match_parent"
    android:layout_height="0px"
    android:layout_weight="1" >

   <RelativeLayout
    android:id="@+id/RelativeLayout1"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:gravity="bottom"
    android:orientation="vertical" >

   <ImageView
    android:id="@+id/imageView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerHorizontal="true"
    android:contentDescription="@string/image"
    android:onClick="openImage1"
    android:scaleType="fitStart"
    android:src="@drawable/loading"
    android:adjustViewBounds="true"
    android:background="#000000" />

   </RelativeLayout>
   </ScrollView>
   </LinearLayout>

</RelativeLayout>
于 2012-08-08T08:00:08.960 回答