获得相同的视图哪个最好:线性或相对布局

时间:2016-12-10 07:16:24

标签: xml android-layout

在一次采访中我遇到了这个问题:

  

水平有两个TextView。在它们下面有一个   ImageView的。您可以使用LinearLayout或设计XML   RelativeLayout的。

     

哪一个有效?为什么?

请让我知道答案。

4 个答案:

答案 0 :(得分:2)

如果我使用LinearLayout,那么我必须至少有2个LinearLayout。 1表示textview,另一表示imageview(textview下面)。但是如果我使用RelativeLayout,那么我可以使用下面的属性(textview_id下面的imageview)在1个RelativeLayout中轻松完成。由于代码将包含更少的子代,它将比LinearLayout更平滑。所以我将使用RelativeLayout。

答案 1 :(得分:2)

  

您选择哪一个?

您应该选择RelativeLayout。

  

为什么?

如果您使用LinearLayout来实现此示例,则必须使用2 Linear Layout:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout vertical>

    <LinearLayout horizontal>
        <TextView/>
        <TextView/>
    </LinearLayout>

    <ImageView />
</LinearLayout>

但是如果你选择相对布局,那么你只需要一个相对布局:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout>
   <TextView/>
   <TextView/>
   <ImageView />
</RelativeLayout>

根据此 google developer link

,这个嵌套的LinearLayout比单个RelativeLayout需要更多的时间来渲染

答案 2 :(得分:1)

相对布局。 在线性中,需要2个子视图,但在相对中,只有1个孩子是neede。哪个更轻,易于使用。

答案 3 :(得分:1)

相对..在线性情况下的重量样式可能会达到相同的结果,但会花费很多内存..