更改TextInputLayout的下划线颜色和浮动提示颜色

问题描述 投票:0回答:5

我在我的

TextInputLayout
主题中使用上述属性,使
TextInputLayout
激活时的下划线颜色为绿色。

      <item name="colorControlActivated">#27e905</item>

它工作正常,我得到以下结果

但是正如您所看到的

colorControlActivated
也会影响浮动提示颜色。我需要不同的颜色来显示浮动提示。有什么办法可以做到吗?

android android-styles android-textinputlayout
5个回答
4
投票

2021 年更新

可以使用该属性来控制下划线颜色

app:boxStrokeColor="@color/green"

2
投票

在 styles.xml 中添加这些样式

  <style name="textInputLayout.GrayLabel"
    parent="Widget.Design.TextInputLayout">
    <item name="hintTextAppearance">@style/AppTheme.TextFloatLabelAppearance</item>
   </style>

    <style name="AppTheme.TextFloatLabelAppearance"         
     parent="TextAppearance.Design.Hint">
    <!-- Floating label appearance here -->
    <item name="android:textColor">@color/YOUR_COLOR</item>
    <item name="android:textSize">@dimen/YOUR_TEXT_SIZE</item>
</style>

并像这样使用它:-

        <android.support.design.widget.TextInputLayout
            style="@style/textInputLayout.GrayLabel"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="@dimen/dimen_8dp">

2
投票

如果您想更改 TextInputLayout 的提示颜色,只需创建此样式:

       <style name="style">
            <item name="colorAccent">your_color</item>
       </style>

然后

 <android.support.design.widget.TextInputLayout
    ...
        app:theme="@style/style" />

1
投票

您可以在 style.xml 中使用这些样式

<style name="myHintText" parent="TextAppearance.AppCompat">
        <item name="android:textColor">@color/YOUR_COLOR</item>
        <item name="android:textSize">13sp</item>
        <item name="android:textColorHint">@color/YOUR_COLOR</item>
        <item name="android:colorControlHighlight">@color/YOUR_COLOR</item>
    </style>

注意 需要最低 API 级别 21


0
投票

对于未聚焦的底线颜色,请使用

<color name="mtrl_textinput_default_box_stroke_color" tools:override="true">#673AB7</color>
在你的colors.xml或style.xml文件中

您还需要将

xmlns:tools="http://schemas.android.com/tools"
放入您的父根标签中。

© www.soinside.com 2019 - 2024. All rights reserved.