如何将LinearLayout
项目的高度设置为相同。我试过RelativeLayout
,但可以取得任何成功。知道怎么做吗? Tyvm提供任何帮助
<LinearLayout
android:background="@color/red"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:weightSum="11">
<TextView
android:id="@+id/lblParca"
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_weight="5.5"
android:text="Parça Kodu"
android:textSize="15dp" />
<EditText
android:id="@+id/txthldMalzemeKodu"
style="@style/DefaultEditTextSmall"
android:layout_width="0dip"
android:layout_weight="4.5"
android:layout_height="wrap_content"
android:inputType="textCapCharacters"
android:singleLine="true" />
<ImageButton
android:id="@+id/btnhldgetMalzeme"
style="@style/btnStyleBreakerBay"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:src="@mipmap/ic_ara" />
</LinearLayout>
这就是我得到的:
答案 0 :(得分:1)
您可以尝试对所有视图使用android:layout_weight="1"
,并设置android:layout_height="0"
Link。
答案 1 :(得分:1)
尝试使用此xml file
<?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="wrap_content"
android:layout_marginTop="5dp"
android:background="@color/red"
android:orientation="horizontal"
android:weightSum="11">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal">
<LinearLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_gravity="center_vertical"
android:layout_weight="0.40"
android:orientation="horizontal">
<TextView
android:id="@+id/lblParca"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="Parça Kodu"
/>
</LinearLayout>
<LinearLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="0.40"
android:orientation="horizontal">
<EditText
android:id="@+id/txthldMalzemeKodu"
style="@style/DefaultEditTextSmall"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:inputType="textCapCharacters"
android:singleLine="true"/>
</LinearLayout>
<LinearLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="0.20"
android:orientation="horizontal">
<ImageButton
android:id="@+id/btnhldgetMalzeme"
style="@style/btnStyleBreakerBay"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:src="@mipmap/ic_ara"/>
</LinearLayout>
</LinearLayout>
</LinearLayout>
答案 2 :(得分:0)
您需要为所有视图设置相同的高度。 要么你这样做:
android:layout_height="match_parent"
或
android:layout_height="some value"
答案 3 :(得分:0)
一种方法是对父级的LinearLayout高度进行硬编码。
其他方式是为每个项目采取3个线性布局&amp;在每个LinearLayout
集
android:layout_gravity="center_vertical"
答案 4 :(得分:0)
如果您对Aspicas的回答感到满意,可以将布局简化为
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:background="@color/red"
android:orientation="horizontal">
<TextView
android:id="@+id/lblParca"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_gravity="center_vertical"
android:layout_weight="0.40"
android:text="Parça Kodu" />
<EditText
android:id="@+id/txthldMalzemeKodu"
style="@style/DefaultEditTextSmall"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="0.40"
android:inputType="textCapCharacters"
android:singleLine="true"/>
<ImageButton
android:id="@+id/btnhldgetMalzeme"
style="@style/btnStyleBreakerBay"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="0.20"
android:scaleType="centerInside"
android:src="@mipmap/ic_ara"/>
</LinearLayout>
没有必要拥有所有包装器。另请注意使用gravity
而非layout_gravity
对TextView进行更改以使内容居中。我真的很惊讶这个作品,从我的理解,这应该是拉伸观点的高度,显然我在那个想法中错了。