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-图片拉伸全部内容,希望文章能够帮你解决android-图片拉伸所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)