在项目中遇到一个很奇怪的问题使用ListView与GridView时,需要将ImageView中的图片填充控件,使用android:scaleType="fitXY"尽然没有任何反应。
代码如下:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@color/color_bg">
<ImageView
android:id="@+id/choose_img_item"
android:layout_width="@dimen/dimen_img_show_weight"
android:layout_height="@dimen/dimen_img_show_height"
android:scaleType="fitXY"
android:src="@drawable/image_loading">
</ImageView>
</LinearLayout>
通过测试发现在Android 4.2版本的手机上没有问题,4.1之前的版本就是无效。
无奈,经过几次尝试将Item的layout中的LinearLayout改为RelativeLayout,一试可以了。
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@color/color_bg">
<ImageView
android:id="@+id/choose_img_item"
android:layout_width="@dimen/dimen_img_show_weight"
android:layout_height="@dimen/dimen_img_show_height"
android:scaleType="fitXY"
android:src="@drawable/image_loading">
</ImageView>
</RelativeLayout>
还真有意思Item的布局中使用LinearLayout对 android:scaleType="fitXY"会有影响。
具体是什么原因没去调查,然道是Google4.1之前的版本没注意这个问题,4.2完善了?有知道原因的说明下。