包装到TextInputLayout中时,更改EditText底线的粗细

这是我的代码

XML标记

<android.support.design.widget.TextInputLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:theme="@style/TextLabel"> <EditText android:id="@+id/etContactName" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="Contact Name"/> </android.support.design.widget.TextInputLayout> 

样式

 <style name="TextLabel" parent="TextAppearance.AppCompat"> <item name="android:textColorHint">@color/hintColor</item> <item name="colorAccent">@color/primaryColor</item> <item name="colorControlNormal">@color/hintColor</item> <item name="colorControlActivated">@color/primaryColor</item> </style> 

这是输出
(正常看法)
普通视图

(集中观点)

聚焦的看法

现在我的问题/问题

  1. 我希望底线更薄。 我应该在哪里改变它。
  2. 闪烁的光标不显示,如何显示。
  3. EditText会自动突出显示拼写错误。 我需要阻止它。

任何人都可以请指点我解决问题的正确方法。 评论你任何人需要更多信息来回答这个问题。

提前致谢。

Solutions Collecting From Web of "包装到TextInputLayout中时,更改EditText底线的粗细"

我已经解决了我的问题,使用我自定义的XML绘图。 可能有更好的办法,但我找不到。 以下是我用作我的文本框的背景的drawable

 <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_pressed="true"> <layer-list > <item android:bottom="1dp" android:left="-2dp" android:right="-2dp" android:top="-2dp"> <shape android:shape="rectangle" > <stroke android:width="0.5dp" android:color="@color/primaryColor" /> <solid android:color="#00FFFFFF" /> <padding android:left="3dp" android:right="3dp" android:top="3dp" android:bottom="3dp" /> </shape> </item> </layer-list> </item> <item android:state_focused="true"> <layer-list > <item android:bottom="1dp" android:left="-2dp" android:right="-2dp" android:top="-2dp"> <shape android:shape="rectangle" > <stroke android:width="0.5dp" android:color="@color/primaryColor" /> <solid android:color="#00FFFFFF" /> <padding android:left="3dp" android:right="3dp" android:top="3dp" android:bottom="3dp" /> </shape> </item> </layer-list> </item> <item> <layer-list > <item android:bottom="1dp" android:left="-2dp" android:right="-2dp" android:top="-2dp"> <shape android:shape="rectangle" > <stroke android:width="0.5dp" android:color="#BCBCBC" /> <solid android:color="#00FFFFFF" /> <padding android:left="3dp" android:right="3dp" android:top="3dp" android:bottom="3dp" /> </shape> </item> </layer-list> </item> </selector> 

Edittext底部颜色

 android:backgroundTint="@color/yourcolor" 

要禁用拼写检查器,请在您的Edittext xml中添加代码

 android:inputType="textNoSuggestions" 

在项目的可绘制文件夹中创build名称为“EditTextStyle.xml”的XML文件,并编写以下代码:

 <?xml version="1.0" encoding="utf-8" ?> <shape xmlns:android="http://schemas.android.com/apk/r..." android:thickness="0dp" android:shape="rectangle"> <stroke android:width="3dp" android:color="#4799E8"/> <corners android:radius="5dp" /> <gradient android:startColor="#C8C8C8" android:endColor="#FFFFFF" android:type="linear" android:angle="270"/> </shape> 

现在将以下属性添加到您的EditText中:

  <EditText android:background="@drawable/EditTextStyle"/>