0

ScrollView が LinearLayout コンテンツの下でコンテンツをスクロールしないようにするにはどうすればよいですか? ScrollView はすべての表示スペースを使用するだけで、これを制限することはできません。メインのRelative-およびLinearLayoutで試しました。

私のコード:

<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

スクロールビュー内に RelativeLayout があるのはちょっと奇妙に思えますが、質問を正しく理解している場合は、スクロールビューを上部の LinearLayout の下に配置する必要があります。私はあなたが次のようなものを探していると推測していますLinearLayout:する必要がありますが、これが何らかの形で役立つことを願っています。)android:layout_belowRelativeLayout

<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 に答える
1

XML コード全体を投稿していません。LinearLayoutこれらの要素はどちらもwithvertical方向に含まれていると推測できます。

によって占有されていないすべてのスペースを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 に答える