匹配不同的屏幕尺寸

时间:2014-03-26 22:47:31

标签: android layout size

我的问题很简单,我之前从未这样做,但现在我被迫寻找解决方案。

使用layout-normal

让我说我有一个图像背景设置为match_parent,上面有3个不同的点,在那些点我应该放置按钮,我添加按钮并设置一些边距dp' s直到我遇到点。例如:layout_marginTop =" 50dp"

在预览屏幕上它看起来没问题,但是当我从相同尺寸类别开始一些模拟器" layout-normal"

3.7inch; 4.0inch; 4.65英寸......看起来不一样。它只在设备尺寸上看起来很好我有预览

我该怎么办?我该怎么办?

我尝试修复图像,创建线性布局,将图像设置为背景,设置屏幕大小(让我们说400x250)并在布局中添加按钮。

但现在当我在不同的模拟器中运行它时,我得到空的空间,图像不适合整个屏幕。

Hrrrrrrr!我该怎么办?

2 个答案:

答案 0 :(得分:0)

使用onPreDrawListener获取您的ImageView大小,或者如果它填满屏幕,您可以使用getDisplaySize获取它

您知道图片中的点在哪里放置按钮:

原始图像480x800 - > button1 left:XX px top:xx px

新尺寸720x1280 - > button1 left:YY px top:YY px

使用此信息,您可以计算将Button放在真实设备上的位置,使用其他分辨率而不是480x800(使用三个规则)

然后以编程方式设置你的边距

答案 1 :(得分:0)

实际上我发现android文档为你提供了布局安排的其他可能性。

- 布局正常;布局小;布局大;布局XLARGE

- layout-sw300dp;布局sw360dp;布局sw450dp;布局sw600dp;    布局sw800dp; 其中sw表示布局资源所需的最小可用宽度

- layout-w300dp;布局w360dp;布局w450dp;布局w600dp;布局w800dp; 其中w表示布局所需的最小宽度

- layout-h200dp;布局h260dp; ...其中h表示布局所需的最小高度

我曾经给过他们最小的可用宽度。