こんにちは私は画面の高さに対応する高さのImageView(背景)を持っています。画像ビューが全体の背景を占め、ユーザーが右にスクロールや画像全体を見るために左にすることができます - この前ImageViewが画面よりも大きく表示されます
は、これがうまく働いた。この
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="wrap_content"
android:layout_height="match_parent">
<HorizontalScrollView
android:layout_width="wrap_content"
android:layout_height="match_parent">
<ImageView
android:id="@+id/songDetails_songImage"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:adjustViewBounds="true"
android:contentDescription="@string/songDetails_cd_songCover"
app:srcCompat="@drawable/default_song_cover" />
</HorizontalScrollView>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
...
のように行われていました。
私の目標は、(ユーザーがスクロールしないように)水平ビューを取り除く必要があるが、HorizontalScrollViewをフレーム/相対レイアウト(幅をwrap_contentに設定)に変更するたびに、スクロールをアニメーション化して、画像ビューは画面に合わせて縮小されます。
それは、デバイスの画面よりも大きいままになるように?
私は、スクロールするためにカスタムアニメーションを使用することができます(トリミングなし)(高さは、画面のそれに一致して)そのままImageViewの幅を維持する方法があります右。
私も同様の質問をしましたが、この場合にはうまくいくものは見つかりませんでした。
私はそれについて考えましたが、HorizontalScrollViewを使用せずにそれを行う方法はありませんでしたか? –
わかりません。 HorizontalScrollViewを削除すると、画像が縮小されたということになります。あなたはImageViewのScaleTypeで遊んでみることができます。使用可能なScaleTypesのいずれかが機能している場合、ImageViewでtranslationXアニメーションを使用して 'スクロール'を試みることができます。 – JaapM
おそらくScaleTypeとAdjustViewBoundsのすべての組み合わせが試され、すべてのものがデバイス画面に合っているようです。それは私がxxhdpiのドロウアブルフォルダに同じ画像のカップルバージョンを持っているのですが、私がscaleTypeを変更すると、スクリーンに収まる小さな画像が選択されて表示されます。 –