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

Android Material Components主题-聚焦字段时更改TextInputLayout/TextInputItemText标签和下划线的颜色

林雅畅
2023-03-14

我试图切换到新的材质组件主题,有一件事我似乎不能改变,那就是标签和下划线的颜色。

当我使用AppCompat主题时,它使用了colorAccent,但是新的MaterialComponents主题使用了colorPrimary。

如何覆盖MaterialComponents主题以仅在该场景中使用色彩口音?

我尝试过的事情:

  • 扩展小部件。MaterialComponents样式为TextInputLayout和TextInputEditText和重写的颜色为主
  • 扩展小部件。MaterialComponents样式,适用于TextInputLayout和TextInputEditText,以及覆盖的colaccent
  • 在TextInputEditText上使用背景色的选择器颜色

共有2个答案

阎阳
2023-03-14

在不定义新主题的情况下,您可以使用:

app:boxStrokeColor="@color/colorAccent"
王航
2023-03-14

您可以首先定义新主题-例如:

<style name="Theme2" parent="AppTheme">
    <item name="colorPrimary">@android:color/holo_green_dark</item>
</style>

...然后像这样使用它:

<com.google.android.material.textfield.TextInputLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:hint="@string/filter_box_hint"
    android:theme="@style/Theme2">

    <com.google.android.material.textfield.TextInputEditText
        android:id="@+id/etFilter"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:inputType="textNoSuggestions"
        android:maxLines="1"
        android:paddingTop="4dp"
        android:theme="@style/Theme2" />
</com.google.android.material.textfield.TextInputLayout>

结果(请忽略方框,它是差异故事的一部分):

 类似资料:
  • 我正在使用android设计库的。但无法自定义内部的提示颜色、标签颜色和下划线颜色。请帮忙。

  • 但不幸的是,它无法工作。 这是我今天尝试的最后一次尝试,但没有奏效: 和样式:

  • 我目前试图隐藏的下划线的当它被禁用。以下是当前实现的外观。我想要同样的样子,但不要下划线。以下是当前的XML: 自定义样式: 到目前为止,我所尝试的: 将的主题设置为自定义样式 重写背景的和/或是一个纯色绘图 大多数在线解决方案建议使用自定义样式和设置颜色控制正常,但这似乎对我来说并不管用。提前感谢

  • 问题内容: 我在这里有此代码: 首先,如您所见,它带有下划线()。其次,所有文字均为红色。那么,是否有将文本($ username)留为红色而下划线为黑的情况? 问题答案: 不能。您最好的方法是使用其他颜色的,但这并不是 真正的重点 。

  • 我对这两个都不熟悉 在我所有的表单中,textField的下划线都显示为蓝色。我想把它换成其他颜色。我使用的代码就像。。。 无法理解如何实现这一点。 注意:我知道这里有一个类似的问题,在flifter中更改TextField的下划线。但是,在那里也没有完全解决。另外,还有一个链接看起来与我的类似,它在这里使用appcompat v7更改EditText底线颜色,但实际上是属于Android开发的,