【问题标题】:How to set colorControlActivated for TextInputLayout in programmatically如何以编程方式为 TextInputLayout 设置 colorControlActivated
【发布时间】:2019-10-09 15:15:51
【问题描述】:

如何以编程方式为 TextInputLayout 设置 colorControlActivated?

因为我想设置下划线颜色。我的颜色是字符串(#....)而不是 R.color 谢谢!

【问题讨论】:

  • 去这个链接你会得到帮助,:stackoverflow.com/questions/30546430/…
  • Gabriele 的回答看起来不错,但请注意 colorControlActivated主题属性,因此您必须 create 具有以下主题的小部件有属性集。一旦创建了小部件,就无法更改该值。

标签: android kotlin material-design android-textinputlayout material-components-android


【解决方案1】:

TextInputLayout 包含在Material Components Library 中,您可以使用以下方法:

textInputLayout.setBoxStrokeColor(..)

FilledBox 样式是默认样式(Widget.MaterialComponents.TextInputLayout.FilledBox),下划线颜色是 strokeColor。

在xml中你可以使用app:boxStrokeColor

您应该使用选择器。默认值类似于:

<selector xmlns:android="http://schemas.android.com/apk/res/android">
  <item android:color="@color/colorPrimary" android:state_focused="true"/>
  <!-- 4% overlay over 42% colorOnSurface -->
  <item android:alpha="0.46" android:color="@color/colorOnSurface" android:state_hovered="true"/>
  <item android:alpha="0.38" android:color="@color/colorOnSurface" android:state_enabled="false"/>
  <item android:alpha="0.42" android:color="@color/colorOnSurface"/>
</selector>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-03-11
    • 1970-01-01
    • 2015-12-06
    • 2021-09-15
    • 2020-01-13
    • 1970-01-01
    • 2019-11-06
    • 2020-06-08
    相关资源
    最近更新 更多