私のアプリケーションでは、異なる高さ(リンゴ、ワイン、魚)の3つの画像ビューを持つレイアウトがあり、一番下に並んでいます。レイアウトの高さは一定です。このレイアウトはhdpi画面上ではよく見えますが、mdpiで同じイメージを使用したいと思います。問題は、mdpiではいくつかの画像ビューが縮小され、画像ビュー間の比率が同じではないことです。だから、もしワインがスケールダウンされれば、リンゴはワインボトルのように背が高いかもしれません。これを避ける最善の方法は何ですか?私は、実行時に画像(同じ高さ)を同じ高さに設定することを考えました。そして、それらはすべて縮尺され、その割合は維持されます。これはポーズ可能ですか?私はこれがはっきりしていることを望むありがとうございました。異なる画面の画像ビュー間のサイズの比率を維持する
0
A
答えて
4
だけ設定:ImageViewsのそれぞれに
android:scaleType="fitCenter"
を。彼らは高さに関係なく比例してサイズを変更します。
EDIT:あなたは三つの画像(魚、リンゴ、ボトル)を持っているとしましょう、重み付けの問題を明確にするために、我々はF、Aそれらを呼び出すだろう、とB.
は、我々はそれを知っているとしましょう:
Fは、だから、Aは半分であるべきであるFは、Bと同じ高さでなければならないことを知っている はB.
の半分の身長であるべきであるA.
と同じ高2倍であるべきですBの高さ.FとBに等しい重みを与えることができます(1)、Aは半分の重み(0.5)である。単純化するために、2を掛けて整数を与えることができます.FとBの重みは2、Aの重みは1です。このように、LinearLayoutをどのような高さに設定しても、画像はそれぞれその他。
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="200dp"
android:orientation="vertical"
>
<ImageView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="2"
android:src="@drawable/fish"
android:scaleType="fitCenter"
/>
<ImageView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1"
android:src="@drawable/apple"
android:scaleType="fitCenter"
/>
<ImageView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="2"
android:src="@drawable/bottle"
android:scaleType="fitCenter"
/>
</LinearLayout>
私はこれがあなたが求めていると信じていますが、私は間違いかもしれません。
関連する問題
- 1. 画像サイズを維持し、比率を維持する、html?
- 2. レスポンシブな画像画面幅にスケーリングしてその比率を維持する
- 3. 異なる画面サイズの画像マッピング。
- 4. 画像のサイズを維持して画像を維持する
- 5. レスポンシブな画像 - 異なる画面サイズで画像のサイズを変更する
- 6. Photoswipeの画像サイズ/比率
- 7. 比率と最小幅を維持する画像のスケーリング
- 8. Android:背景画像/異なる画面用の画像ビュー
- 9. リアクションネイティブアスペクト比の画像を維持する
- 10. さまざまな画面解像度でボタンの円画像比率を維持します
- 11. 画像のサイズ変更 - 縦横比を維持する
- 12. タブレットを含む画面解像度と画像サイズを維持する方法
- 13. 異なる描画サイズの画像サイズ
- 14. 維持ページネーションのサイズの画面
- 15. クリック時の画像サイズを維持する画像サイズを増減する
- 16. メディアクエリで異なる画面サイズの画像を読み込む
- 17. 解像度の異なる画面の画像サイズを理解する
- 18. マウスで画像のサイズを変更し、縦横比を維持
- 19. 処理中の画面サイズと画像が異なる
- 20. 複数の画面で異なる画像サイズ
- 21. アスペクト比を維持しない画像のサイズを変更する
- 22. 異なる画面サイズ
- 23. スワイパースライダー - 異なるサイズの画面に対応する画像を設定する
- 24. Android画面比率
- 25. スプラッシュ画面の画像サイズ
- 26. 別の画像サイズに基づいて画像をスケーリングし、そのアスペクト比を維持するアルゴリズム
- 27. 異なる画面でのウェブサイトのサイズ
- 28. 画面の回転を横切ってビューを維持する
- 29. アンドロイドの画面サイズを維持する方法は?
- 30. 画像+テキストDIVで、アスペクト比を維持
画像ビューが縮小された場合、他のビューも同じように縮小され、互いに比例して縮小されます。そのうちの1つが高さ200と別の50を持ち、最初のものが100にスケーリングされている場合、もう1つは25にスケーリングする必要があります。このようにして、「リンゴ」はまだ「ボトル」よりも小さくなります。 – Gratzi
3つの画像すべてを実行時に作成し、1つの画像ビューのみを使用して、3の代わりにその合成画像を使用すると、解決策になる可能性があります。しかし、私はまだこれを行う方法を知らない。 – Gratzi
layout_weight属性を使用してみます。 3つのImageViewをLinearLayoutに入れ、それぞれに特定の重みを与えます(例えば、ボトルがリンゴの2倍の大きさの場合は、ボトルに2の重みを与え、リンゴには1の重みを与えます)。 – kcoppock