您现在的位置是:首页 > 开发类 > 移动开发移动开发

EditText设置下划线、提示字颜色、输入字体颜色及问题

2021-06-05 09:11:29移动开发人已围观

简介显示正确设置想要设置EditText的下划线、提示字颜色、输入字体颜色,可以通过设置xml属性android:theme="@style/MyEditTextStyle",例如 <EditText android:id="@+id/password" android:layout_width="0dp" android:layout_height="wrap_content&

文章目录

      • 显示正确设置
      • 显示错误设置
      • 总结
        • 附颜色

显示正确设置

想要设置EditText的下划线、提示字颜色、输入字体颜色,可以通过设置xml属性android:theme="@style/MyEditTextStyle",例如

    <EditText
        android:id="@+id/password"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_marginStart="24dp"
        android:layout_marginTop="8dp"
        android:layout_marginEnd="24dp"
        android:hint="@string/prompt_password"
        android:imeOptions="actionDone"
        android:inputType="textPassword"
        android:selectAllOnFocus="true"
        android:theme="@style/MyEditTextStyle"
        android:textColor="@color/ic_white"
        android:textSize="18sp"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/username" />

res/styles.xml

    <style name="MyEditTextStyle">
        <!--文本的颜色,textColor和textSize不要放到style中-->
        <item name="android:textColorHint">@color/warm_gray</item>
        <item name="colorControlNormal">@color/warm_gray</item>
        <item name="colorControlActivated">@color/colorAccent</item>
    </style>

可以得到想要的结果

显示错误设置

测试时,把textColor和textSize要放到style中,

<EditText
    android:id="@+id/password"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:layout_marginStart="24dp"
    android:layout_marginTop="8dp"
    android:layout_marginEnd="24dp"
    android:hint="@string/prompt_password"
    android:imeOptions="actionDone"
    android:inputType="textPassword"
    android:selectAllOnFocus="true"
    android:theme="@style/MyEditTextStyle"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toBottomOf="@+id/username" />

<item name="android:textColor">@color/ic_white</item> <item name="android:textSize">18sp</item>

这两个属性一并放到style/MyEditTextStyle

<style name="MyEditTextStyle">
    <!--文本的颜色-->
    <item name="android:textColor">@color/ic_white</item>
    <item name="android:textSize">18sp</item>
    <item name="android:textColorHint">@color/warm_gray</item>
    <item name="colorControlNormal">@color/warm_gray</item>
    <item name="colorControlActivated">@color/colorAccent</item>
</style>

结果显示,error的字体设置也变化了,输入的字体也没显示为白色, 而是黑色,错误提示字体也很大

总结

设置EditText的下划线、提示字颜色、输入字体颜色,可以通过设置xml属性android:theme="@style/MyEditTextStyle"

但是不要把textColor和textSize要放到style中, 会使输入显示的字体颜色不正确,error的大小也不正确。

附颜色

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <color name="colorPrimary">#0A1026</color>
    <color name="colorPrimaryDark">#0A1026</color>
    <color name="colorAccent">#F57F17</color>
    <color name="color_purl">#7e53c5</color>
    <color name="white">#EAE9E9</color>
    <color name="ic_white">#FFF3E0</color>
    <color name="tmn_white">#F6F5F5</color>
    <color name="line_gray">#E6E6E6</color>
    <color name="warm_gray">#7C7B7B</color>
    <color name="peal_white">#FEFDFD</color>
    <color name="warm_red">#E5514E</color>
    <color name="warm_blue">#42A5F5</color>
    <color name="light_blue">#EC6BBAFA</color>
</resources>

文章来源:https://blog.csdn.net/guaisou/article/details/117481295

Tags:android 

很赞哦! ()

随机图文

文章评论

留言与评论(共有 0 条评论)
   
验证码:

本栏推荐

站点信息

  • 文章统计247968篇文章
  • 浏览统计18356次浏览
  • 评论统计1个评论
  • 标签管理标签云
  • 统计数据:统计代码
  • 微信公众号:扫描二维码,关注我们