创建基于百分比的布局

时间:2012-12-20 15:21:16

标签: android android-layout

我正在尝试做我的第一个应用。

我正在做一个包含四行的布局。第一行(10%高度),第二行(40%高度),第三(40%高度)两个图像和第四行(10%高度)中的按钮将有一个标题。

现在,我正在使用垂直方向的线性布局。使用重量和和重量,我在每一行都有正确的比例。

但是,如果我在第二行和第三行使用线性布局权重,那么我会收到有关嵌套权重和不良性能的警告。我理解糟糕的性能问题,但我不知道如何解决我的问题。

我需要每张图片都是其父宽度的50%。

感谢您的帮助。

编辑:这是我想要完成的快速模型 https://dl.dropbox.com/u/252856/androidlayout.jpg

2 个答案:

答案 0 :(得分:2)

在您的特定情况下,您可以使两个ImageViews占据父级宽度的50%而不使用带有这样的块的权重:

<RelativeLayout android:layout_width="match_parent" android:layout_height="0dp" 
     android:layout_weight="your_value">
     <View android:id="@+id/anchor" android:layout_width="0dp" 
           android:layout_height="match_parent" android:layout_centerHorizontal="true"/>
     <ImageView android:layout_width="wrap_content" 
           android:layout_height="match_parent" android:layout_alignParentLeft="true"
           android:layout_alignRight="@id/anchor" /> 
     <ImageView android:layout_width="wrap_content" 
           android:layout_height="match_parent" android:layout_alignParentRight="true"
           android:layout_alignLeft="@id/anchor" />
</RelativeLayout>

答案 1 :(得分:0)

您可能需要查看是否可以将布局设为GridLayout。它旨在处理您希望将UI元素排列成大致网格状图案的情况,同时避免嵌套权重可能导致的性能问题。如果您的UI适合这种布局,您可以通过利用它来实现simpler implementation and faster performance

支持GridLayout早在API级别7,我相信,通过支持库。