我有一个水平linearLayout,包括TextView,EditText和另一个EditText。 两个TextView都设置为wrap_content的宽度和高度。 EditText的高度为wrap_content,宽度为match_parent。
我的目标是让这三个视图在一行中填满整行。 但是通过上面的书面设置,我有第一个TextView占用了所需的空间,EditText填充了其余的空间,没有为其他TextView保留空间。
我通过将TextViews的layout_weight设置为0并将EditText设置为500来实现临时解决方案,我确信这不是真正的解决方案。
编辑:当前布局:
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/linearLayoutWeight"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Gewicht:"
android:id="@+id/lblWeight"
android:layout_alignParentStart="true"
android:textColor="@color/mainForeground"
android:textSize="24dp"
android:layout_weight="1"
android:textStyle="bold" />
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/txtWeight"
android:layout_alignBottom="@+id/textView"
android:layout_toEndOf="@+id/textView"
android:textAlignment="center"
android:hint="60"
android:textSize="24dp"
android:textColor="@color/mainForeground"
android:textColorHint="@color/hintColor"
android:layout_weight="500"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/lblUnitWeight"
android:textColor="@color/mainForeground"
android:textSize="24dp"
android:layout_weight="1"
android:text="g." />
</LinearLayout>
答案 0 :(得分:1)
使用layout_weight确定每个视图的宽度。根据您的需要更新重量值。
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/linearLayoutWeight"
android:orientation="horizontal">
<TextView
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"
android:text="Gewicht:"
android:id="@+id/lblWeight"
android:layout_alignParentStart="true"
android:textColor="@color/mainForeground"
android:textSize="24dp"
android:layout_weight="1"
android:textStyle="bold" />
<EditText
android:layout_width="0dp"
android:layout_weight="2"
android:layout_height="wrap_content"
android:id="@+id/txtWeight"
android:layout_alignBottom="@+id/textView"
android:layout_toEndOf="@+id/textView"
android:textAlignment="center"
android:hint="60"
android:textSize="24dp"
android:textColor="@color/mainForeground"
android:textColorHint="@color/hintColor"
android:layout_weight="500"/>
<TextView
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"
android:id="@+id/lblUnitWeight"
android:textColor="@color/mainForeground"
android:textSize="24dp"
android:layout_weight="1"
android:text="g." />
</LinearLayout>
答案 1 :(得分:1)
我有点消费,但这是你想要的吗?
for i in CheckList.split("|"):
for j in box:
if i.split(",")[0] == j
试试这个,它应该可以正常工作。
答案 2 :(得分:0)
您可以使用:
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/linearLayoutWeight"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Gewicht:"
android:id="@+id/lblWeight"
android:layout_alignParentStart="true"
android:textColor="@color/mainForeground"
android:textSize="24dp"
android:textStyle="bold" />
<EditText
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"
android:id="@+id/txtWeight"
android:layout_alignBottom="@+id/textView"
android:layout_toEndOf="@+id/textView"
android:textAlignment="center"
android:hint="60"
android:textSize="24dp"
android:textColor="@color/mainForeground"
android:textColorHint="@color/hintColor"
android:layout_weight="500"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/lblUnitWeight"
android:textColor="@color/mainForeground"
android:textSize="24dp"
android:text="g." />
</LinearLayout>