Android ImageView大小不随源图像缩放
我在LinearLayout中有一些ImageViews。我需要按比例缩小ImageViews,以便它们在垂直安装到LinearLayout中的同时保持其长宽比。在水平方向上,我只需要它们彼此相邻即可。 我为此做了一个简化的测试台,它嵌套了加权版面,因此我为ImageViews设置了一个宽但不是很高的LinearLayout- <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <LinearLayout android:id="@+id/linearLayout1" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="5"> <LinearLayout android:id="@+id/linearLayout3" android:layout_height="fill_parent" android:layout_width="fill_parent" android:layout_weight="1"> <ImageView android:id="@+id/imageView1" android:layout_height="wrap_content" android:layout_width="wrap_content" android:src="@drawable/test_image" android:scaleType="fitStart"></ImageView> <ImageView android:id="@+id/imageView2" android:layout_height="wrap_content" android:layout_width="wrap_content" android:src="@drawable/test_image" android:scaleType="fitStart"></ImageView> </LinearLayout> <LinearLayout android:id="@+id/linearLayout4" android:layout_height="fill_parent" android:layout_width="fill_parent" android:layout_weight="1"></LinearLayout> </LinearLayout> <LinearLayout android:id="@+id/linearLayout2" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1"></LinearLayout> </LinearLayout> (在Eclipse布局编辑器中,图像是垂直剪切的,根本没有缩放-但这只是我们学到的特质之一) 在硬件上运行时,图像会缩放到正确的高度,同时保留其宽高比。我的问题是它们彼此不相邻。每个ImageView的高度与LinearLayout的高度正确匹配。每个ImageView的宽度是未缩放图像的宽度-实际按比例缩小的图像显示在其ImageViews的左侧。因此,图像之间的差距越来越大。 理想情况下,我希望通过XML进行管理,如果不可能的话,我知道使用自定义视图可能是最好的解决方案。 我尝试创建一个覆盖onMeasure的IconView(扩展ImageView)类,以便可以根据高度缩放宽度来创建所需大小的图像视图。但是传递给函数的parentWidth和parentHeight是屏幕的尺寸,而不是LinearLayout容器的尺寸。 @Override …