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

时间:2015-08-01 06:21:40

标签: android android-edittext styles material-design android-textinputlayout

这是我的代码

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>

这是输出
(普通观点)
Normal View

(重点观点)

Focused View

现在我的问题/问题

  1. 我希望底线更薄。我应该在哪里改变它。
  2. 闪烁的光标未显示,如何显示。
  3. EditText会自动突出显示拼写错误。我需要阻止它。
  4. 任何人都可以请我指出解决问题的正确方法。评论你有人需要更多信息来回答这个问题。

    提前致谢。

1 个答案:

答案 0 :(得分:1)

Edittext底色

android:backgroundTint="@color/yourcolor"

在Edittext xml中禁用拼写检查器添加代码

android:inputType="textNoSuggestions"

在项目的drawable文件夹中创建名为“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"/>