我希望我的应用能够在不同的屏幕尺寸上完美运行, Galaxy Tab 2 , Galaxy Note 800 和 Galaxy Note 2 。
但是,我的应用程序相当复杂,我无法在所有地方使用wrap_content
或fill_parent
。我已尝试使用layout_weight
,但即使这样也无法与RelativeLayout
一起使用。
是否有任何智能方法可以根据屏幕尺寸调整屏幕组件的大小,而不是按照Android documentation中的建议将所有不同的布局放在一起,是否可以在layout_weight
中使用RelativeLayout
?
谢谢!
答案 0 :(得分:1)
您可以TableLayout使用TableRow。我在我的一个项目中更倾向于RelativeLayout,因为RelativeLayout不支持你所说的权重属性。
答案 1 :(得分:0)
这是真的你不能使用相对布局的重量。如果您想确保您的布局适合每个设备。您必须对视图使用嵌套的LinearLayouts,并且如果您为每个设备都有良好的分辨率图像,那么在权重中这样做将是完美的。
此外,在RelativeLayout中,复杂的布局不能完美,因为您无法使用重量,有时图像可能会出现歪斜或拉伸。
当然使用带有视图的嵌套LinearLayouts会增加一些额外的行,但这是唯一完美的解决方案。
答案 2 :(得分:0)
我发现了一种有效的方法。
我没有在布局中使用硬编码维度,而是在Resources/values/dimensions.xml
中使用了它们的引用。因此,对于不同的屏幕尺寸,我只是在参考资料中制作了不同的尺寸文件,从而降低了复杂性并避免为所有屏幕尺寸制作单独的布局。