嗨我在尝试在android上实现以下布局时发现了奇怪的行为。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<LinearLayout
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_weight="0.25"
android:orientation="horizontal" >
</LinearLayout>
<LinearLayout
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_weight="0.75"
android:orientation="horizontal" >
<TextView
android:id="@+id/text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingLeft="10dp"
android:paddingRight="15dp"
android:paddingTop="10dp"
android:paddingBottom="10dp"
android:layout_margin="20dp"
android:textColor="@android:color/black"
android:lineSpacingMultiplier="1.1" />
</LinearLayout>
</LinearLayout>
这段布局应该在右边生成一个占据屏幕75%的文本视图。但由于某种原因,Textview的高度计算好像其父级的权重为0.视图中的文本似乎完全包裹,但不是视图本身。
这是正常行为还是如何让textview显示正确的高度?
答案 0 :(得分:0)
首先请正确缩进代码,以便于阅读。您可以通过按Ctrl + Shift + F
在XML编辑器中自动执行此操作其次,如果你想让LinearLayouts宽25%,宽75%,但要填满整个屏幕高度,那么你需要
android:layout_height="match_parent"
第三,如果您希望TextView占据屏幕的75%,那么为什么不直接将权重分配给它而不将其包装在另一个LinearLayout中?
最后,使用重量你不需要让孩子的重量加1。
android:layout_weight="1"
和
android:layout_weight="3"
也没关系。