我试图设计我的布局如下。我目前的方法是让LinearLayout包装另外两个LinearLayouts。其中每个都有layout_weight=1
。然后底部布局包装另外两个,每个也有layout_weight=1
。我听说不建议使用嵌套砝码 - 不是吗?否则,什么是更好的选择呢?
由于
答案 0 :(得分:0)
这将是我的方法:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:weightSum="2">
<LinearLayout android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1">
<View android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#ff00ff"/>
</LinearLayout>
<LinearLayout android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:weightSum="2"
android:orientation="horizontal">
<View android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="match_parent"
android:background="#ffff00"/>
<View android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="match_parent"
android:background="#00ffff"/>
</LinearLayout>
</LinearLayout>
我认为权重可能“低效”,因为为了适当地应用它们,必须首先测量布局。如果它的子节点也应用权重,则可能导致重复测量相同的布局,可能< / em>妨碍表现。
如果您的布局很复杂,您可能需要考虑其他方法(例如创建自定义ViewGroup
),但请记住:
我们应该忘记效率低,大约97%的时间说: 过早优化是万恶之源。
所以在尝试解决之前请确保您确实遇到了问题。