如何在 Linearlayout 上设置 Textview 、 Edittext 和按钮高度相同

问题描述 投票:0回答:5
android xml layout android-linearlayout
5个回答
1
投票

您可以尝试对所有视图使用

android:layout_weight="1"
,并设置
android:layout_height="0"

文档上的链接


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>

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>

无需拥有所有包装纸。另请注意 TextView 的更改,使用

gravity
而不是
layout_gravity
来居中内容。我实际上很惊讶这个作品,根据我的理解,这应该延伸视图的高度,显然我的想法是错误的。


0
投票

您需要为所有视图设置相同的高度。 要么你这样做:

android:layout_height="match_parent"

 android:layout_height="some value"

0
投票

一种方法是对父级的 LinearLayout Height 进行硬编码。

另一种方法是为每个项目和每个 LinearLayout
集中采用 3 个 LinearLayout

  android:layout_gravity="center_vertical"
© www.soinside.com 2019 - 2024. All rights reserved.