2

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

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

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

但是,如果我在第二行和第三行使用线性布局权重,则会收到有关嵌套权重和性能不佳的警告。我了解性能不佳的问题,但没有它们我不知道如何解决我的问题。

我需要每个图像是其父宽度的 50%。

谢谢你的帮助。

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

4

2 回答 2

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>
于 2012-12-20T15:29:25.513 回答
0

您可能想看看并考虑是否可以使您的布局作为GridLayout工作。它旨在处理您希望将 UI 元素排列成大致类似于网格的模式的情况,同时避免嵌套权重可能导致的性能问题。如果您的 UI 适合这种布局,您可以利用它来实现更简单的实现和更快的性能。

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

于 2012-12-20T15:27:47.620 回答