3

私は、水平スクロールビュー内のリニアレイアウト内に2つ(または必要に応じてそれ以上)のイメージビューを取得しようとしています。これにより、各画像は、画像を歪めることなく画面の高さに合わせてスケーリングされます。つまり、1つの画像が画面上でできるだけ大きく表示され、スクロールして表示されます次の。

2番目の画像が追加されると、2つの小さな画像が隣り合って表示されます(両方の画像の寸法は217 * 300pxです)。現在、私の activity_main.xml は次のようになっています..

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

    <HorizontalScrollView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        >
        <LinearLayout
            android:orientation="horizontal"
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            >
            <ImageView
                android:id="@+id/image1"
                android:src="@drawable/luke"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:scaleType="fitCenter"
                />
            <ImageView
                android:id="@+id/image2"
                android:src="@drawable/luke"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:scaleType="fitCenter"
                />


        </LinearLayout>
    </HorizontalScrollView>


</FrameLayout>

レイアウト上の match_parent、fill_parent、wrap_content、画像ビュー上のすべての scaleTypes のさまざまな組み合わせを試し、ネットをブラウジングして、私が望むものに似た例を探すのに 1 日以上費やしましたが、うまくいきませんでした。

4

3 に答える 3

3

これら2つのことを設定すると言います:

     <ImageView
          android:layout_height = "match_parent"
          android:layout_width = "10dp" />

これはトリッキーな部分です。実行時に画面幅を取得し、imageView に設定します。

于 2013-08-15T09:15:25.660 に答える
1

現在の方法でそれを行うのではなく、スケーリングされたイメージビューを表示するカスタムページアダプターを備えたビューページャーを使用する傾向があります。

ビューページャー/アダプターは、ビューのリサイクル、ページのスナップなどを処理します。

于 2013-08-15T09:13:06.933 に答える
0

使ってみてはどうですか

android:width="0"
android:weight ="1"
android:height="match_parent"

imageViews で

および match_parent レイアウトの他の場所。

于 2015-11-11T07:44:44.983 に答える