当前位置: 首页 > 知识库问答 >
问题:

如何在TextInputLayout中设置提示的颜色?

家西岭
2023-03-14
 <android.support.design.widget.TextInputLayout
                        android:id="@+id/input_layout_edit_contact_name"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:textColor="@color/black"
                        android:textColorHighlight="@color/black"
                        app:hintTextAppearance="@color/black"
                        app:errorTextAppearance="@style/EmailErrorAppearance">

                        <EditText
                            android:id="@+id/et_input_edit_contact_name"
                            android:hint="@string/hint_name_add"
                            android:inputType="textEmailAddress"
                            android:textColor="@android:color/black"
                            android:layout_width="match_parent"
                            android:layout_height="wrap_content"
                           />
   <resources>

    <!-- Base application theme. -->
    <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
        <!-- Customize your theme here. -->
        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/colorAccent</item>
        <item name="colorControlNormal">#FFFFFF</item>
        <item name="colorControlActivated">#FFFFFF</item>
        <item name="android:textColorHint">@color/black</item>
    </style>

 </resources>

我的需要是,为一个屏幕的应用程序,其中有白色的背景,并在白色的背景,我必须显示Textinputlayout提示,文本,编辑文本颜色在黑色字体。

共有1个答案

钮才哲
2023-03-14

首先,不要在父样式中指定属性。因为如果这样做,它将为整个应用程序获取属性。与其这样做,不如为TextInputLayout创建一个不同的样式。

还有一点,与android支持库一起使用的TextInputLayout不会给出预期的输出。因此,您应该将项目迁移到AndroidX,并且应该使用Material Components Library。

在应用程序模块级别分级文件中添加该库。

implementation 'com.google.android.material:material:1.1.0-alpha07'
<style name="TextInputLayoutStyle" parent="Widget.MaterialComponents.TextInputLayout.OutlinedBox">
        <item name="boxBackgroundMode">outline</item>
        <item name="boxStrokeColor">@android:color/black</item>
        <item name="android:textColorHint">@android:color/black</item>
        <item name="hintTextColor">@android:color/white</item>
    </style>
<com.google.android.material.textfield.TextInputLayout
            style="@style/TextInputLayoutStyle"
            android:layout_width="match_parent"
            android:layout_height="wrap_content">

        <com.google.android.material.textfield.TextInputEditText
                android:layout_width="match_parent"
                android:layout_height="wrap_content"/>

        </com.google.android.material.textfield.TextInputLayout>


有关更多信息,请阅读这里的文档

https://material.io/develop/android/components/text-input-layout/

他们已经指定了可用于TextInputLayout的所有属性。

 类似资料:
  • 我正在使用MaterialComponents大纲TextInputLayout。我需要在提示文本上设置不同的颜色: “Main”提示(当TextInput中没有文本时)-->带有60%alpha的黑色 浮动提示-->与轮廓相同的颜色(即非活动时为colorPrimary,活动时为colorAccent) 我正在使用Android:TextColorHint设置主提示颜色,App:HintText

  • 它通常表现为红色,我想改变它。我应该在文件中使用哪些项名/键来确定颜色目标? 提前谢了。 编辑: 当出现错误消息时,字段上方的提示将变为与错误消息相同的颜色,覆盖提示颜色--这是经过设计的。

  • 就像外面的数百个问题一样,我想改变暗示的颜色。本来我想在评论中问另一个这样的问题(未回答),但我没有足够的声誉,所以我在这里问。 我希望当提示在TextInputEditText中时是一种颜色,当它浮动时是另一种颜色。在其他帖子中,答案总是在视图聚焦时如何更改提示。那不是我想要的,我能做到。如果编辑文本不是空的,我想更改提示颜色。我正在使用材料设计textInputLayout和TextInput

  • 我使用TextInputLayout,如果输入字段是强制性的,我希望以编程方式设置提示文本颜色和浮动标签颜色。在转到TextInputLayout之前,我使用以下方法以编程方式设置提示文本颜色 有人能指导我如何通过编程方式为TextInputLayout设置提示文本颜色和浮动标签颜色吗。

  • 启用这些后,我需要提示以不同的颜色显示,如下所示 当我这样尝试时,效果很好 问题是,我必须使用来显示浮动提示。所以,当我在中添加时,这段代码根本不起作用。我用尝试了很多东西,如下所示。但没有任何效果。我只需要EditText的提示文本颜色(不是浮动提示文本)在启用时应该是一种颜色,在禁用时,在中使用时应该是不同的颜色。请帮助! 注意:我的问题不是这个问题的重复。在那里,它提到了TextInputL

  • 根据Googles材料指南: https://material.io/guidelines/components/text-fields.html#text-fields-layout TextInputLayout提示应该与错误消息的颜色相同: 我如何更改此行为以适应Google自己的指导方针?