LinearLayout的wrap_content,其中包括FAB和文本

时间:2018-08-16 21:21:41

标签: android android-linearlayout

我已经在我的XML中添加了包含FAB和文本的LinearLayout。 LinearLayout的高度和宽度设置为“ wrap_content”,但是由于某种原因,在XML的“设计”选项卡中,LinearLayout的框似乎具有更大且不必要的高度。如何使LinearLayout与FAB和文本的高度大致相同?

谢谢 这是XML代码:

<?xml version="1.0" encoding="utf-8"?><android.support.constraint.ConstraintLayout

xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="corp.blayzer.randomit.MainActivity">


<LinearLayout
    android:id="@+id/linearLayout"
    android:layout_width="match_parent"
    android:layout_height="186dp"
    android:background="@color/mainBackGroundHalf1"
    android:gravity="center"
    android:orientation="vertical"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintHorizontal_bias="0.0"
    app:layout_constraintLeft_toLeftOf="parent"
    app:layout_constraintRight_toRightOf="parent"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent" />


<android.support.design.widget.TextInputLayout
    android:id="@+id/minVal_layout"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginEnd="8dp"
    android:layout_marginStart="8dp"
    android:layout_marginTop="8dp"
    android:gravity="center"
    app:layout_constraintEnd_toEndOf="@+id/linearLayout"
    app:layout_constraintLeft_toLeftOf="parent"
    app:layout_constraintRight_toRightOf="parent"
    app:layout_constraintTop_toTopOf="@+id/linearLayout">


    <EditText
        android:id="@+id/minVal"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="16dp"
        android:backgroundTint="@color/inputText"
        android:ems="10"
        android:hint="@string/minValue"
        android:inputType="number"
        android:selectAllOnFocus="false"
        android:singleLine="true"
        android:textAlignment="center"
        android:textAppearance="@style/TextAppearance.AppCompat.Body1"
        android:textColorHint="@color/inputText"
        app:layout_constraintHorizontal_bias="0.502"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toTopOf="parent" />
</android.support.design.widget.TextInputLayout>


<android.support.design.widget.TextInputLayout
    android:id="@+id/maxVal_layout"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginEnd="8dp"
    android:layout_marginStart="8dp"
    android:layout_marginTop="8dp"
    android:gravity="center"
    app:layout_constraintEnd_toEndOf="@+id/linearLayout"
    app:layout_constraintRight_toRightOf="parent"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toBottomOf="@+id/minVal_layout">

    <EditText
        android:id="@+id/maxVal"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginBottom="8dp"
        android:layout_marginTop="16dp"
        android:backgroundTint="@color/inputText"
        android:ems="10"
        android:hint="@string/maxValue"
        android:inputType="number"
        android:selectAllOnFocus="false"
        android:singleLine="true"
        android:textAlignment="center"
        android:textAppearance="@style/TextAppearance.AppCompat.Body1"
        android:textColorHint="@color/inputText"
        app:layout_constraintBottom_toBottomOf="@+id/linearLayout"
        app:layout_constraintHorizontal_bias="0.502"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent" />

</android.support.design.widget.TextInputLayout>

<TextView
    android:id="@+id/textNumView"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginTop="16dp"
    android:lineSpacingExtra="8sp"
    android:text="@string/instructionsMainAct"
    android:textAppearance="@android:style/TextAppearance"
    android:textColor="@android:color/holo_red_light"
    android:textSize="18sp"
    android:textStyle="bold"
    app:layout_constraintHorizontal_bias="0.506"
    app:layout_constraintLeft_toLeftOf="parent"
    app:layout_constraintRight_toRightOf="parent"
    app:layout_constraintTop_toBottomOf="@+id/linearLayout"
    app:layout_constraintVertical_chainStyle="packed" />

<LinearLayout
    android:id="@+id/layOutBtn"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginTop="8dp"
    android:orientation="horizontal"

    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintHorizontal_bias="0.5"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toBottomOf="@+id/textNumView">

    <android.support.design.widget.FloatingActionButton
        android:id="@+id/button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginBottom="252dp"
        android:layout_marginEnd="16dp"
        android:layout_marginStart="16dp"
        android:layout_weight="0"
        android:clickable="true"
        android:focusable="true"
        app:layout_constraintHorizontal_bias="0.498"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/textNumView"
        app:srcCompat="@drawable/ic_change_history_black_24dp"
        tools:text="@string/GoButton" />

    <TextView
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="10"
        android:ellipsize="end"
        android:gravity="center"
        android:maxLines="1"
        android:text="@string/GoButton"
        android:textAlignment="center"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:textColor="@android:color/black" />
</LinearLayout> </android.support.constraint.ConstraintLayout>

屏幕截图的布局: enter image description here

3 个答案:

答案 0 :(得分:1)

  
    

删除此行>>

  

android:layout_marginBottom =“ 252dp”

  
    

来自您的

  

答案 1 :(得分:1)

您在制造厂有很大的利润空间:android:layout_marginBottom="252dp",必须删除或更改。
使用此:

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout

    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="corp.blayzer.randomit.MainActivity">


    <LinearLayout
        android:id="@+id/linearLayout"
        android:layout_width="match_parent"
        android:layout_height="186dp"
        android:background="@color/mainBackGroundHalf1"
        android:gravity="center"
        android:orientation="vertical"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.0"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />


        <android.support.design.widget.TextInputLayout
            android:id="@+id/minVal_layout"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginEnd="8dp"
            android:layout_marginStart="8dp"
            android:layout_marginTop="8dp"
            android:gravity="center"
            app:layout_constraintEnd_toEndOf="@+id/linearLayout"
            app:layout_constraintLeft_toLeftOf="parent"
            app:layout_constraintRight_toRightOf="parent"
            app:layout_constraintTop_toTopOf="@+id/linearLayout">


        <EditText
            android:id="@+id/minVal"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="16dp"
            android:backgroundTint="@color/inputText"
            android:ems="10"
            android:hint="@string/minValue"
            android:inputType="number"
            android:selectAllOnFocus="false"
            android:singleLine="true"
            android:textAlignment="center"
            android:textAppearance="@style/TextAppearance.AppCompat.Body1"
            android:textColorHint="@color/inputText"
            app:layout_constraintHorizontal_bias="0.502"
            app:layout_constraintLeft_toLeftOf="parent"
            app:layout_constraintRight_toRightOf="parent"
            app:layout_constraintTop_toTopOf="parent" />
    </android.support.design.widget.TextInputLayout>


    <android.support.design.widget.TextInputLayout
        android:id="@+id/maxVal_layout"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginEnd="8dp"
        android:layout_marginStart="8dp"
        android:layout_marginTop="8dp"
        android:gravity="center"
        app:layout_constraintEnd_toEndOf="@+id/linearLayout"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/minVal_layout">

        <EditText
            android:id="@+id/maxVal"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginBottom="8dp"
            android:layout_marginTop="16dp"
            android:backgroundTint="@color/inputText"
            android:ems="10"
            android:hint="@string/maxValue"
            android:inputType="number"
            android:selectAllOnFocus="false"
            android:singleLine="true"
            android:textAlignment="center"
            android:textAppearance="@style/TextAppearance.AppCompat.Body1"
            android:textColorHint="@color/inputText"
            app:layout_constraintBottom_toBottomOf="@+id/linearLayout"
            app:layout_constraintHorizontal_bias="0.502"
            app:layout_constraintLeft_toLeftOf="parent"
            app:layout_constraintRight_toRightOf="parent" />

    </android.support.design.widget.TextInputLayout>

    <TextView
        android:id="@+id/textNumView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="16dp"
        android:lineSpacingExtra="8sp"
        android:text="@string/instructionsMainAct"
        android:textAppearance="@android:style/TextAppearance"
        android:textColor="@android:color/holo_red_light"
        android:textSize="18sp"
        android:textStyle="bold"
        app:layout_constraintHorizontal_bias="0.506"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/linearLayout"
        app:layout_constraintVertical_chainStyle="packed" />

    <LinearLayout
        android:id="@+id/layOutBtn"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="8dp"
        android:orientation="horizontal"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.5"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/textNumView">

        <android.support.design.widget.FloatingActionButton
            android:id="@+id/button"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginEnd="16dp"
            android:layout_marginStart="16dp"
            android:layout_weight="0"
            android:clickable="true"
            android:focusable="true"
            app:srcCompat="@drawable/ic_change_history_black_24dp"
            tools:text="@string/GoButton" />

        <TextView
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="10"
            android:ellipsize="end"
            android:gravity="center"
            android:maxLines="1"
            android:text="@string/GoButton"
            android:textAlignment="center"
            android:textAppearance="?android:attr/textAppearanceMedium"
            android:textColor="@android:color/black" />
    </LinearLayout> 
</android.support.constraint.ConstraintLayout>

答案 2 :(得分:0)

删除此

app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"

它应该工作。这些约束的作用是将其扩展到顶部和底部。