【问题标题】:TextInputEditText view not rendering as expectedTextInputEditText 视图未按预期呈现
【发布时间】:2016-12-14 00:18:07
【问题描述】:

我的问题是 TextInputEditText 视图没有像使用 android:layout_width="match_parent" 所期望的那样扩展以占据父级的整个宽度。 下面的代码是来自应用程序的 sn-p:

<?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"
    android:id="@+id/constraintLayout">
    <android.support.design.widget.TextInputLayout
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:id="@+id/textInputLayout1"
        android:layout_marginTop="16dp"
        app:layout_constraintTop_toTopOf="@+id/constraintLayout"
        android:layout_marginStart="16dp"
        app:layout_constraintLeft_toLeftOf="@+id/constraintLayout"
        android:layout_marginLeft="16dp"
        app:layout_constraintRight_toLeftOf="@+id/guideline3"
        android:layout_marginEnd="8dp"
        android:layout_marginRight="8dp">
        <android.support.design.widget.TextInputEditText
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:id="@+id/textInputEditText1"/>
    </android.support.design.widget.TextInputLayout>
    <android.support.design.widget.TextInputLayout
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:id="@+id/textInputLayout2"
        android:layout_marginStart="16dp"
        app:layout_constraintLeft_toRightOf="@+id/textInputLayout1"
        android:layout_marginLeft="16dp"
        android:layout_marginEnd="16dp"
        app:layout_constraintRight_toRightOf="@+id/constraintLayout"
        android:layout_marginRight="16dp"
        app:layout_constraintTop_toTopOf="@+id/textInputLayout1"
        app:layout_constraintBottom_toBottomOf="@+id/textInputLayout1">

        <android.support.design.widget.TextInputEditText
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:id="@+id/textInputEditText2"
            android:layout_weight="1"
            tools:layout_editor_absoluteY="0dp"
            tools:layout_editor_absoluteX="0dp"/>
    </android.support.design.widget.TextInputLayout>

    <android.support.constraint.Guideline
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/guideline3"
        app:layout_constraintGuide_Percent="51"
        android:orientation="vertical"
        tools:layout_editor_absoluteY="0dp"
        tools:layout_editor_absoluteX="216dp"/>

</android.support.constraint.ConstraintLayout>

【问题讨论】:

    标签: android android-constraintlayout


    【解决方案1】:

    您的代码非常好,但您可能使用的是旧版本的 ConstraintLayout(例如 alpha 4)。尝试更新到最新的 alpha 6,这将解决您的问题(您还需要将 app:layout_constraintGuide_Percent="51" 替换为 app:layout_constraintGuide_percent="0.5",因为 API 发生了变化)

    【讨论】:

      【解决方案2】:

      将 TextInputLayout 元素的宽度设置为 match_parent

      【讨论】:

      • 虽然这行得通,但当我打开可视化编辑器时,它会将match_parent 替换为0dp,这是故意行为吗?
      • 试试这个组合 android:layout_width="0dp" 和 android:layout_weight="1"
      • 变小了
      • 你可以使用布局编辑器设置元素的宽度吗?
      • 我输入的宽度是 0dp 用于 TextInputLayout 和 match_parent 用于 TextInputEditText
      猜你喜欢
      • 2017-02-23
      • 2018-10-01
      • 2014-09-29
      • 2017-01-26
      • 1970-01-01
      • 1970-01-01
      • 2021-03-12
      • 2014-07-31
      • 1970-01-01
      相关资源
      最近更新 更多