以编程方式或通过xml设置视图宽度和高度

问题描述 投票:0回答:2

我注意到在在线教程中,人们使用特定的dp值来表示任何视图的宽度和高度

例如,android:layout width =“20dp”我想知道,因为我们有这么多的设备和密度,以编程方式确定这个值会更好吗?例如,我想要一个特定的图像占据屏幕宽度的20%然后我会得到屏幕宽度并乘以20%并相应地设置宽度

你知道dp应该在任何屏幕上使它大小相同,无论密度是多少,但对于许多设备而言并非如此,例如galaxy s2和galaxy note

你能告诉我我的方法是否正确?

android
2个回答
1
投票

更好的方法是在xmls中使用线性布局,并在其中将layout_weight设置为具有所需值的子项。您可以在线性布局中使用weight_sum来设置最大重量。

e.g

线性weight_sum = 100和text_view里面的text_weight = 20.这意味着你的textview有20%的线性值。

p.s:对于水平方向,重量=宽度和宽度= 0dp

对于垂直,重量=高度和高度= 0

我希望能帮到你^^


0
投票

对于dp无法充分补偿的任何内容,您可以将不同分辨率的图像插入备用可绘制文件夹中。它们被广泛命名为您的应用程序将与之接触的不同屏幕尺寸,并且android将相应地自行调整。根据我的经验,我尝试用xml做尽可能多的图形,因为我发现它不那么麻烦。

© www.soinside.com 2019 - 2024. All rights reserved.