私はそのようなレイアウトを持っています:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:id="@+id/title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true"
android:layout_toLeftOf="@+id/my_image"
android:ellipsize="end"
android:singleLine="true"
android:text="Some text"
android:textAppearance="?android:attr/textAppearanceMedium" />
<ImageView
android:id="@+id/my_image"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignTop="@+id/title"
android:layout_alignBottom="@+id/title"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:adjustViewBounds="true"
android:src="@drawable/my_bitmap_image" />
このレイアウトは、私が必要とするほとんどのことを行います。画像ビューの高さをテキスト ビューと同じにします。縦横比を保ったまま画像グラフィックコンテンツを引き伸ばします。
しかし、画像ビューの幅は変わりません!その結果、テキスト ビューと画像ビューの間に大きなギャップができてしまいました。一時的な解決策として、オーバーライドしますView#onLayout
。
質問: xml レイアウトで画像の幅を変更する方法は?
アップデート:
これは私が必要とする最終的なレイアウトです (テキスト + いくつかの画像)。最初の画像を見てください。その幅は、パディングとマージンなしでスケーリングされた画像とまったく同じでなければなりません: