创建布局的提示

时间:2019-03-10 11:06:56

标签: android android-layout mobile-development

我想创建一个这样的布局。

Layout example

执行此操作的最佳方法是什么?

3 个答案:

答案 0 :(得分:1)

有几种方法可以做到这一点,第一步也是常见的步骤是定义父布局周围的边框并定义子布局的边距。在第二步之后,您可以使用以下任一方法来实现这一目标。

  1. 您可以使用垂直方向的Linearayouts,然后使用weightsum和weights来实现。

  2. 另一种方法是使用相对。在相对布局中,您可以提供与其他布局组件位置有关的其他视图位置。

  3. 第三种方法是使用约束布局,提供约束,您将实现此目标。

答案 1 :(得分:1)

您可以使用以下代码进行设计:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:weightSum="2"
    android:orientation="vertical">
    <ImageView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:src="@android:color/black"
        android:layout_weight="0.4"/>
    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_weight="1.6"></RelativeLayout>

</LinearLayout>

您可以更改layout_weight的值以更改比率。

答案 2 :(得分:0)

下面列出了一些实现此布局的方法以及一些性能上的注意事项:-

1。使用权重参数进行线性布局会导致性能下降,因为这会导致视图在布局之前被测量两次。而且我们拥有更深的线性布局层次结构,这又会导致渲染速度变慢。< / p>

  1. 使用相对布局,即使我们得到了平坦的继承关系,但视图在绘制之前被测量了两次,但是嵌套的相对布局(具有另一个相对布局的相对布局)将再次导致渲染时间增加,因此视图被测量四次。

3。最好使用约束布局来获得更好的性能和更平缓的视图传承。

4。如果内部布局具有导致第一个子项发生更改的菜单结构,并且框架布局作为根父级,则您可能还想考虑使用片段。

一些了解性能优势的链接:-

Android Layout Tricks #1

Understanding the performance benefits of ConstraintLayout