0

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

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

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

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

4

2 回答 2

1

更好的方法是在你的 xmls 中使用线性布局,并在其中设置 layout_weight 为你想要的值的子元素。您也可以在线性布局中使用 weight_sum 来设置最大权重。

例如

线性 weight_sum = 100 和内部带有 layout_weight = 20 的 textview。这意味着您的 textview 具有线性值的 20%。

ps:对于水平方向,权重=宽度和宽度= 0dp

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

希望能帮到你^^

于 2012-09-15T03:32:31.963 回答
0

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

于 2012-09-15T00:19:05.117 回答