我想用float lable实现这种类型的输入文本布局,但问题是当我运行应用程序时它看起来不一样,并且标签显示在输入文本字段的上方。
但是,这是我的结果
我的代码是:
roundview.xml。
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape android:shape="rectangle">
<solid android:color="#ffffff"/>
<corners android:radius="10dp" />
<stroke
android:width="2dp"
android:color="#3bbdfa"
/>
</shape>
</item>
</selector>
<android.support.design.widget.TextInputLayout
android:id="@+id/text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:errorEnabled="true">
<android.support.design.widget.TextInputEditText
android:id="@+id/edittxt"
android:layout_width="match_parent"
android:layout_height="130dp"
android:background="@drawable/roundview"
android:fadeScrollbars="false"
android:fadingEdge="vertical"
android:foregroundGravity="fill_vertical"
android:hint="name"
android:isScrollContainer="false"
android:requiresFadingEdge="vertical"
android:singleLine="false"
android:visibility="visible" />
</android.support.design.widget.TextInputLayout>
我按照https://material.io/design进行文字字段设计,但我遇到了这个问题。谢谢
答案 0 :(得分:6)
可以通过在Widget.MaterialComponents.TextInputLayout.OutlinedBox
上应用TextInputLayout.
样式来完成
<android.support.design.widget.TextInputLayout
android:id="@+id/name_text_input"
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:errorEnabled="true">
<android.support.design.widget.TextInputEditText
android:id="@+id/name_edit_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Name" />
</android.support.design.widget.TextInputLayout>
You can check this answer which also has a link to an example.
答案 1 :(得分:1)
概述框
概述文本字段具有描边边框,并且强调较少。要使用大纲文本字段,请将以下样式应用于TextInputLayout:
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"
答案 2 :(得分:0)
使用android.support.design.widget.TextInputLayout无法实现。您必须创建一个自定义类,可以在编辑文本周围绘制这种边框,记住提示文本,如果您的提示文本是常量,您可以使用png作为背景
答案 3 :(得分:-1)
<com.google.android.material.textfield.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"
android:layout_marginStart="20dp"
android:layout_marginEnd="20dp"
android:layout_marginTop="100dp" >
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/text"
android:inputType="text"
android:importantForAutofill="no"
tools:ignore="LabelFor" />
</com.google.android.material.textfield.TextInputLayout>