使用百分比怎么样?

时间:2012-08-02 17:23:08

标签: android android-layout

所以,我正在考虑使用百分比,例如,在边距中。

我们可以使用叠加来按dpi尺寸分隔布局,但为什么我们不能使用百分比?

类似的东西:

Display display = getWindowManager().getDefaultDisplay();

float width = display.getWidth();
float height = display.getHeight();

//20% of left margin
float imageMarginLeft = ( width * 20 ) / 100;

然后将此边距设置为图像或任何元素。

这不好吗?我只想讨论它。

感谢。

1 个答案:

答案 0 :(得分:2)

LinearLayout可以通过使用权重来完成百分比。

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal" 
    android:weightSum="100">

    <Button
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="20"
        android:text="Button" />
</LinearLayout>

如果使用大量的布局,基于权重的布局会阻碍性能,特别是当它们嵌套时。以编程方式执行此操作也可能会影响布局时间。

修改的 由于您正在寻找讨论,我建议基于百分比的布局一般都很糟糕。问题是Android的物理屏幕尺寸变化很大。不可思议的一半屏幕与Galaxy S III的屏幕的一半大不相同,这与Nexus 7的屏幕的一半大不相同等。使用dp单位的好处是它们与物理尺寸有关在屏幕上的东西。它可以防止按钮在微小的屏幕上变得很小(并且难以选择),并且可以防止它们在大屏幕上变得非常大(而且难看)。