我有一个如下定义的布局
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:orientation="vertical" >
<ImageView
android:id="@+id/movieImageView"
android:layout_width="75dp"
android:layout_height="75dp"
android:layout_centerVertical="true"
android:paddingBottom="5dp"
android:layout_marginLeft="5dp"
android:layout_marginTop="5dp"
android:src="@drawable/blank_96_1382x" />
<TextView
android:id="@+id/movieTypeView"
android:layout_width="75dp"
android:layout_height="wrap_content"
android:layout_below="@+id/movieImageView"
android:layout_alignLeft="@+id/movieImageView"
android:maxLines="1"
android:text="Tv Series"
android:textColor="@color/gray"
android:textSize="12sp"
android:gravity="center"
android:paddingTop="3dp"
android:paddingBottom="3dp"
android:visibility="gone"
android:textStyle="bold" />
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_centerVertical="true"
android:layout_marginBottom="5dp"
android:layout_marginTop="5dp"
android:layout_toRightOf="@id/movieImageView"
android:layout_marginLeft="5dp">
<TextView
android:id="@+id/movieTitleView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:maxLines="3"
android:text="Shutter Island starring leonardo di caprio"
android:textColor="@color/white"
android:textSize="17sp"
android:textStyle="bold"
android:typeface="sans" />
...
</RelativeLayout>
它看起来像这样
我希望图像视图根据图像视图左侧的内容缩小。例如,如果缺少几个字段并且字段的高度总和小于图像高度,那么它应该缩小(如下所示)。
如果图像左侧字段的高度总和大于指定的图像高度,则应保留指定的高度,如下所示
我尝试扩展图像视图并更改图像视图的高度/宽度,从而满足图像的纵横比,如此处所述自定义图像视图。但问题是,返回的父高度MeasureSpec.getSize(heightMeasureSpec)
不会返回左侧字段占用的确切高度(因为只有在返回所有子项的 onMeasure 后才可用)。所以这种方法并没有把我带到任何地方。
我怎样才能实现这种期望的行为?