在Android布局中混合使用绝对尺寸和相对尺寸 - 如何?
问题描述:
我想创建一个自定义列表项。基本上它有一个水平LinearLayout中的3个区域。最左边的一个应该是50dp宽,也是最右边的一个。我希望中间的人占据其余的空间。最后它应该是“50px |宽度 - 100px | 50px”。我知道我可以通过编程来完成这个任务。但我也可以在XML中做到这一点?在Android布局中混合使用绝对尺寸和相对尺寸 - 如何?
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/linearLayout1"
android:layout_width="fill_parent"
android:layout_height="100dp"
android:gravity="right" >
<FrameLayout
android:id="@+id/frameLayout1"
android:layout_width="50dp"
android:layout_
android:layout_height="match_parent"
android:layout_weight="0">
</FrameLayout>
<LinearLayout
android:id="@+id/linearLayout2"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:gravity="fill"
android:orientation="vertical"
android:layout_weight="0">
</LinearLayout>
<FrameLayout
android:id="@+id/frameLayout2"
android:layout_width="50dp"
android:layout_height="match_parent"
android:layout_weight="0" >
</FrameLayout>
</LinearLayout>
像往常一样:期待听到你们的巧妙构思&非常感谢!
答
只需将中间项目的布局权重设置为1.并将layout_width设置为fill_parent。
现在我觉得有点蠢。我可以发誓,我试图做到这一点 - 但你可能现在就是那种感觉。你能否指点我一些比http://developer.android.com/guide/topics/ui/declaring-layout.html更详细的文档?进一步解释权重的逻辑?谢谢! – fluxon 2012-01-12 23:18:51
一件物品首先需要一定的空间。然后,如果仍有剩余空间,剩余部分将根据其权重分配到不同部分。因此,体重0没有多余,体重2获得了体重1等额外空间的两倍,至少,这是LinearLayout的逻辑。 – 2012-01-12 23:26:16
这个答案让我到了1000 :-) – 2012-01-12 23:28:10