我有一个FrameLayout,用于显示使用ZBar扫描的相机输入。
我希望它占据应用运行的每个屏幕的很大一部分。一个硬编码的275dp正方形在最新的手机上看起来很棒,但是对于小屏幕则推迟了。
我计划对175dp的正方形进行硬编码,然后在代码中根据手机屏幕的尺寸进行增长。
我可能会在各种屏幕尺寸上做switch
,然后决定将帧的大小调整为。
这是一个好方法吗?
我将如何在XML中执行此操作?
答案 0 :(得分:2)
指定高度/宽度为LinearLayout
的{{1}}将允许您模拟基于百分比的布局,否则当您想要使用整个屏幕宽度/高度时,可以使用layout_weight
答案 1 :(得分:0)
你可以为ldpi,mdpi和hdpi(xhdpi和tvdpi,如果你想)创建一个xml布局文件,并根据屏幕大小字面设置不同的xmls。有了这个,您将能够毫无问题地适应大多数屏幕,但它不如百分比准确。但请记住,并非所有Android设备都具有通常的16:9或16:10(8:5),因此百分比可能会使广场在屏幕之间略有不同。
您可以制作自己的布局合格者,但在大多数情况下,标准布局合格者就足够了。
您还应该考虑在java中仅构建框架布局,在xml中仅考虑布局的其余部分。