5

そのため、アクティビティをスクロール可能にしようとしています。relativelayout をスクロール ビュー内に配置すると、次のようになります。

ここに画像の説明を入力

上記のスクリーンショットのコードは次のとおりです。

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content" >

    <RelativeLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:background="@drawable/background"
        android:orientation="vertical"
        android:paddingLeft="60dp"
        android:paddingTop="53dp" >

        <ImageView
            android:id="@+id/gearImage"
            android:layout_width="35dp"
            android:layout_height="35dp"
            android:layout_marginTop="70dp"
            android:clickable="true"
            android:contentDescription="@string/gearDescription_string"
            android:src="@drawable/gear" />
    </RelativeLayout>

</ScrollView>

スクロールビューを取り出すと、正しく表示されますが、もちろん必要なスクロール機能はありません:

ここに画像の説明を入力

さて、次のようにする方法はありますか?

ここに画像の説明を入力

まだスクロールできるように、背景画像の一番下に達した場合、それはただの白です (ウェブページの背景が白であるためわかりにくいですが、2 番目の画像の下に白い四角形を追加して、私の言いたいことを示してください)。いずれにせよ、彼らが底に到達する理由はありません。

もちろん、背景画像で引き伸ばさずにスクロールビューを実装する方法について他に提案があれば、ぜひ聞いてください。

ありがとうございました。

4

5 に答える 5

6

チェックアウトしてくださいandroid:fillViewport。ドキュメントによると、このdefines whether the scrollview should stretch its content to fill the viewport. 次のコード行を に追加しますScrollView

android:fillViewport="true"

お役に立てれば。

編集:

次のことを試してください。

  1. ScrollViewセットでandroid:layout_height="fill_parent"
  2. RelativeLayoutセットでandroid:layout_height="wrap_content"
于 2012-07-30T16:43:56.660 に答える
2

私は同じ問題を抱えていました、これは私のために働いています:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/rel"  
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/scroll" 
    android:layout_width="fill_parent"
    android:layout_height="wrap_content" 
    android:background="@drawable/login_background"
    android:fillViewport="true"
    >

 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
   android:orientation="vertical"
  >
于 2012-09-28T08:59:28.503 に答える
1

それが機能しなかった理由は、私の画像がピクセル数で大きすぎたためです。スクロールビューは画像を元のサイズに保つように強制されていると思います。そのため、スクロールビューはそれだけでした。スクロールビューが垂直であるため、長さは生の画像の全長になり、スクロールビューが左右に移動しないため、幅に沿って長さが押しつぶされました。

簡単な修正は、画像を小さくすることでした。スクロールビュー内ではなく、通常のレイアウト内で適切にサイズ変更できるのは、なんと奇妙なことでしょう。

于 2012-08-06T03:18:42.360 に答える
1

背景をRelativeLayout設定して自分のに設定する代わりにScrollView。したがって、この属性を<RelativeLayout>タグから<ScrollView>タグに移動する必要があります。

android:background="@drawable/background"

これにより、発生しているストレッチが削除され、背景がでスクロールされなくなりRelativeLayoutます。ただし、これでは、拡大縮小されていない背景の下に白い背景を表示する効果は得られません。

于 2012-07-30T16:45:18.703 に答える
0

これで問題が解決しました

この行をマニフェスト ファイルのそれぞれのアクティビティに追加します

android:windowSoftInputMode="adjustResize" 
于 2014-05-07T07:19:25.653 に答える