相对于屏幕尺寸拉伸图像
我的布局有六个按钮。它们的尺寸均为 72x72dip,因此它们在小屏幕上显得较大,反之亦然。
我该如何解决这个问题?我希望按钮的大小相对相同(例如屏幕宽度的 10%),但我不知道该怎么做。
这是我的布局的外观:
可以找到布局的源代码 此处。
I have a layout that features six buttons. All of them have the size of 72x72dip, so they appear to be larger on small screens and vice versa.
How can I tackle this problem? I want the buttons to be relatively the same size (eg 10% of the screen's width), but I don't know how to do it.
This is how my layout looks:
The layout's sourcecode can be found here.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
1 - 您是否将所有“图像视图”修复为layout_width & 72dip 的高度?
2 - 通常 72dip 在每个屏幕尺寸上都是相同的...但是您仍然可以拥有 3(或 4,如果您支持 XHDPI)图像分辨率...
2 - 为您添加 4 个不同的可绘制对象:
2.1 可绘制
2.2 可绘制-ldpi
2.3drawable-mdpi
2.4drawable-hdpi
请考虑以下图像比例:
LDPI为3
mdpi 为 4
hdpi 为 6
因此,请确保首先制作 HDPI 图像,以便您可以使用比例 1.5 和 2 调整其他图像的大小(例如,对于 LDPI,只需除以 2)。
3.顺便问一下,为什么这一切都是你自己做的?看来您使用的是 android 4.0,为什么不直接使用 Android 中的新“DashBoard”类呢?
1 - Did you fix all you 'image views' to layout_width & height of 72dip ?
2 - Normally 72dip is the same thing on every screen size... But you still can have 3(or 4 if you support XHDPI) resolution of your images...
2 - Add 4 différent fonder for you Drawable :
2.1 drawable
2.2 drawable-ldpi
2.3 drawable-mdpi
2.4 drawable-hdpi
Consider the following ratio for your images :
ldpi is 3
mdpi is 4
hdpi is 6
So make sure to make HDPI images first, so you can isealy resize other images applying ration 1.5 and 2 (just divide by 2 for LDPI for example).
3.By the way, why did you just did it all by yourself ? Seems you are on android 4.0, why don't you just use the new "DashBoard" class from Android ?
我通常通过将宽度和高度设置为
wrap_content
然后调整 ImageButton 小部件上的layout_weight
来实现此目的,以便每个按钮占用相同的空间量。我通常会使用scaleType="center_inside"
来使它们很好地对齐。然后根据需要在 TableView 的边缘周围添加边距。I usually do this by setting the width and height to
wrap_content
and then tweaking thelayout_weight
on the ImageButton widgets so that each button takes up the same amount of space. I usually doscaleType="center_inside"
to make them line up nicely. Then pad around the edges of the TableView with margins as necessary.观察:
一些快速 你不需要TableLayout,只需使用LinearLayout
b。您不需要单独的 ImageView 和 TextView,您可以使用
c 来使用 Button 和图像。切勿在任何视图的宽度/高度中使用绝对值,因此请使用wrap_content。
示例布局应该是这样的:
Few quick observations:
a. You do not need TableLayout, just use LinearLayout
b. You do not need separate ImageView and TextView, you can use Button and image to it using
c. Never use absolute values in width/height of any views, so use wrap_content.
Sample Layout should be like this: