今天我刚刚更新了dependencies
的{{1}}
从material design
到1.0.0
1.1.0-alpha09
现在我在implementation 'com.google.android.material:material:1.1.0-alpha09'
中遇到了奇怪的问题
这是我的代码
com.google.android.material.textfield.TextInputLayout
更新依赖关系后,我在 <com.google.android.material.textfield.TextInputLayout
android:id="@+id/emailTextInputLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="@dimen/_10sdp">
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/emailTextInputEditText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/hint_enter_email"
android:imeOptions="actionNext"
android:inputType="textEmailAddress"/>
</com.google.android.material.textfield.TextInputLayout>
中获得了盒装设计
以上代码的输出
如果我使用TextInputLayout
,我会得到预期的结果
有人可以帮我解决这个问题吗
如果需要更多信息,请告诉我。提前致谢。您的努力将不胜感激。
更新
我已经尝试
implementation 'com.google.android.material:material:1.0.0'
了,我已经收到了
,
如果我使用
app:boxBackgroundMode="none"
然后得到
无需使用 app:boxBackgroundMode="outline"
您需要在您的boxBackgroundMode
@style/Widget.Design.TextInputLayout
示例代码
TextInputLayout
答案 0 :(得分:3)
要恢复为无背景但只有底边框的旧样式,应使用以下样式:
<com.google.android.material.textfield.TextInputLayout
...
style="@style/Widget.Design.TextInputLayout"
....
>
</com.google.android.material.textfield.TextInputLayout>
使用主题 Widget.Design.TextInputLayout
将产生如下所示的预期输出:
答案 1 :(得分:1)
使用material Theme的TextInputLayout
使用的默认样式是@style/Widget.MaterialComponents.TextInputLayout.FilledBox
要获得类似的效果,只需使用boxBackgroundColor
属性更改背景颜色:
<style name="CustomFilledBox" parent="Widget.MaterialComponents.TextInputLayout.FilledBox">
<item name="boxBackgroundColor">@myColor</item>
</style>
还可以在android:hint="@string/hint_enter_email"
中使用TextInputLayout
,而不要在TextInputEditText
中使用
答案 2 :(得分:1)
对我来说,使用@ style / Widget.Design.TextInputLayout会产生不良的格式设置结果,尤其是editText框的对齐问题。
我暂时将boxBackgroundMode
设置为无,并且在我的项目中更新了材料设计之后,上述错误图标开始显示。可能是错误(https://issuetracker.google.com/issues/122445449)。
现在,我仍然将boxBackgroundMode
设置为none,并通过将颜色设置为透明来隐藏错误图标。这样我就可以保留材料设计。
app:boxBackgroundMode="none"
app:errorIconTint="@android:color/transparent"
<com.google.android.material.textfield.TextInputLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="5dp"
app:boxBackgroundMode="none"
app:errorIconTint="@android:color/transparent"
app:hintEnabled="false">
<com.google.android.material.textfield.TextInputEditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/message_ellipsis"
android:inputType="textCapSentences|textMultiLine"
android:paddingTop="10dp" />
</com.google.android.material.textfield.TextInputLayout>
答案 3 :(得分:0)
在您的TextInputLayout中进行设置:
app:boxBackgroundMode="none"
可能您已将boxBackgroundMode设置为filled,或者可能是默认设置。只需在上面添加一行,即可解决问题。
答案 4 :(得分:0)
与 com.google.android.material:material:1.3.0
相同的行为
将透明背景应用于 TextInputEditText
即可。
android:background="@android:color/transparent"