android-图片拉伸
作者:互联网
API 7(2.1)
我正在为我的应用程序的drawable-hdpi文件夹实现高分辨率图像.
在屏幕底部,我有一个带有fill_parent宽度的LinearLayout.在里面,我有3个权重为1的LinearLayouts.在这些里面,我有一个ImageView.实际上,我有3个相等大小的空间可容纳3张图像.
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/image1"
/>
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center"
android:padding="0dip">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/image2"
/>
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/image3"
/>
</LinearLayout>
</LinearLayout>
当手机处于横向模式时,一切看起来都很好.
当手机处于纵向模式时,图像会按比例缩小,因为它们的宽度对于屏幕上的1/3空间来说太宽了.图像仍然看起来不错.
这是我的问题:
我的图像可以缩放,但是包裹每个图像的LinearLayouts似乎没有缩放其高度.
在横向模式下,包裹图像的LinearLayouts的顶部和底部共享一条边.这意味着,ImageView的顶部与将其包装的LinearLayout的顶部对齐,ImageView的底部与将其包装的LinearLayout的底部对齐.换句话说,LinearLayout的高度== ImageView的高度.
在纵向模式下,包裹图像的LinearLayouts的顶部和底部与图像的顶部和底部之间有一堆空间,就像填充一样.换句话说,LinearLayout的高度> ImageView的高度.这是不可取的.
有任何想法吗?
几乎就像在调整LinearLayout和ImageView的大小,然后挤压ImageView以适合它,然后不调整LinearLayout的大小…
解决方法:
您可以尝试针对两个方向设计单独的布局.在项目的res文件夹中,创建一个名为layout-land的子文件夹.在那里复制或创建具有相同名称的新布局.这样,您将可以在任何方向上完全控制布局.
由于您使用的是android:layout_weight =“ 1”,linearLayouts是否应等分分割空间,因此会出现多余的空间?
编辑:
设置LinerLayout的权重后,似乎ImageView会扩大其高度.将此行添加到每个ImageViews中:
android:adjustViewBounds=”true”
标签:android-linearlayout,scale,imageview,android 来源: https://codeday.me/bug/20191102/1993113.html