最近项目需求中首页添加大图展示,宽度固定,高度自适应,然后有设置了一个最小高度和最大高度maxHeight,android:maxWidth,但是我发现在xml中设置了这两个属性不管用,然后就找问题。
网上大部分人都说必须配合android:adjustViewBounds="true"设置成true才管用,可是我已经设置了啊。
但是还是不管用,这让人很头疼。
于是就各种的找资料,在网上搜,最终找到解决办法了。原来我是这样的写的
<LinearLayout
android:id="@+id/info_big_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:paddingLeft="@dimen/dp_12"
android:paddingRight="@dimen/dp_12"
android:paddingTop="@dimen/dp_12"
android:visibility="visible">
<TextView
android:id="@+id/info_big_title"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="10dp"
android:ellipsize="end"
android:includeFontPadding="false"
android:textColor="@color/theme_color_one"
android:textSize="@dimen/text_size_16" />
<ImageView
android:id="@+id/info__big_image"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:maxHeight="205dip"
android:minHeight="200dip"
android:scaleType="fitXY"
android:src="@drawable/poster_default" />
</LinearLayout>
把TextView写在了ImageView的前面了,先测量的TextView后测量的ImageView导致那两个属性失效,测量的不精准了,后来改了一下
<RelativeLayout
android:id="@+id/info_big_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="@dimen/dp_12"
android:paddingRight="@dimen/dp_12"
android:paddingTop="@dimen/dp_12"
android:visibility="gone"
>
<ImageView
android:id="@+id/info__big_image"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:maxHeight="205dip"
android:minHeight="120dip"
android:scaleType="fitXY"
android:layout_below="@id/info_big_title"
android:src="@drawable/poster_default" />
<TextView
android:id="@+id/info_big_title"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ellipsize="end"
android:layout_marginBottom="@dimen/dp_10"
android:includeFontPadding="false"
android:textColor="@color/theme_color_one"
android:textSize="@dimen/text_size_16" />
</RelativeLayout>
这样就可以了。OK完美解决