Jos*_*lor 5 android android-layout android-studio
我在设计支持库的帮助下创建了一个文本输入,但它在我放置它的约束布局内表现得很奇怪。下面的代码是我希望显示小部件的方式,并且它最初在设计中都正确显示-生成器和设备上。但是,如果我选择TextInputLayout(在设计或蓝图布局中),它EditText就会被layout_width修改match_parent为0dp导致它消失。
<android.support.design.widget.TextInputLayout
android:id="@+id/textInputLayout"
android:layout_height="wrap_content"
android:layout_width="0dp"
app:layout_constraintLeft_toLeftOf="@+id/activity_login"
android:layout_marginLeft="16dp"
android:layout_marginStart="16dp"
app:layout_constraintTop_toTopOf="@+id/activity_login"
android:layout_marginTop="16dp"
app:layout_constraintRight_toRightOf="@+id/activity_login"
android:layout_marginRight="16dp"
android:layout_marginEnd="16dp"
app:layout_constraintBottom_toBottomOf="@+id/activity_login"
android:layout_marginBottom="16dp">
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="textEmailAddress"
android:ems="10"
android:id="@+id/email"
android:layout_weight="1"
android:hint="@string/email"
tools:layout_editor_absoluteX="0dp"
tools:layout_editor_absoluteY="11dp"/>
</android.support.design.widget.TextInputLayout>
Run Code Online (Sandbox Code Playgroud)
我想我应该回来提供一个解决方案,因为这个问题仍然悬而未决。
我看到 EditText 视图在 TextInputLayout 中行为异常的原因是因为它们一开始就不应该在那里。TextInputLayout 是设计支持库的一部分,它为开发人员提供了一种简单的方法,以符合 Material 设计规范的方式为文本字段构建动态标签和错误消息。但是,它们有一个 TextInputEditText 作为子项,而不是 EditText。
<android.support.design.widget.TextInputLayout
android:id="@+id/emailLayout"
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:labelFor="@+id/email"
app:layout_constraintLeft_toLeftOf="@+id/activity_login"
android:layout_marginLeft="16dp"
android:layout_marginStart="16dp"
app:layout_constraintTop_toTopOf="@+id/activity_login"
android:layout_marginTop="16dp"
app:layout_constraintRight_toRightOf="@+id/activity_login"
android:layout_marginRight="16dp"
android:layout_marginEnd="16dp"
app:layout_constraintBottom_toBottomOf="@+id/activity_login"
android:layout_marginBottom="16dp">
<android.support.design.widget.TextInputEditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/email"
android:inputType="textEmailAddress"
android:hint="@string/email"
tools:layout_editor_absoluteX="0dp"
tools:layout_editor_absoluteY="11dp"
/>
</android.support.design.widget.TextInputLayout>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7093 次 |
| 最近记录: |