答案 0 :(得分:1)
有几种方法可以做到这一点,第一步也是常见的步骤是定义父布局周围的边框并定义子布局的边距。在第二步之后,您可以使用以下任一方法来实现这一目标。
您可以使用垂直方向的Linearayouts,然后使用weightsum和weights来实现。
另一种方法是使用相对。在相对布局中,您可以提供与其他布局组件位置有关的其他视图位置。
第三种方法是使用约束布局,提供约束,您将实现此目标。
答案 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>
3。最好使用约束布局来获得更好的性能和更平缓的视图传承。
4。如果内部布局具有导致第一个子项发生更改的菜单结构,并且框架布局作为根父级,则您可能还想考虑使用片段。
一些了解性能优势的链接:-