android - 如何更改未聚焦的textInputLayout的轮廓或边框的颜色?
问题描述
我正在尝试更改 textInputLayout 的轮廓或边框的颜色,我不知道为什么它没有改变,我搜索并找到了一些解决方案,但对我没有用。
这里我放了样式,然后在 textInputLayout 中应用
<style name="WhiteOutlineBox" parent="Widget.MaterialComponents.TextInputLayout.OutlineBox">
<item name="boxStrokeColor">@color/snow </item>
<item name="hintTextAppearance">@style/TextLabel</item>
<item name="android:textColorHint">@color/snow</item>
<item name="passwordToggleTint">@color/snow</item>
<item name="colorControlNormal">@color/snow</item>
<item name="colorControlActivated">@color/snow</item>
<item name="colorControlHighlight">@color/snow</item>
<item name="colorPrimary">@color/snow</item>
<item name="colorPrimaryDark">@color/snow</item>
<item name="colorAccent">@color/snow</item>
</style>
<!-- this style for the hint text lable in textInputLayout -->
<style name="TextLabel" parent="TextAppearance.Design.Hint">
<item name="android:textSize">12sp</item>
<item name="android:textColor">@color/snow</item>
</style>
这里是在 xml 中的 textInputLayout 中应用它的代码
<android.support.design.widget.TextInputLayout
android:id="@+id/ed_oldPass"
style="@style/WhiteOutlineBox"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="32dp"
android:layout_marginEnd="32dp"
android:layout_marginTop="50dp"
app:passwordToggleEnabled="true">
<android.support.design.widget.TextInputEditText
style="@style/WhiteOutlineBox"
android:layout_width="match_parent"
android:layout_height="56dp"
android:background="@color/snow"
android:textColor="@color/snow"
android:layout_marginBottom="10dp"
android:hint="@string/old_pass_ed_hint"
android:inputType="textPassword"
android:paddingEnd="10dp"
android:paddingStart="10dp" />
</android.support.design.widget.TextInputLayout>
笔触颜色,hintTextAppearence,提示颜色和通过切换色调颜色改变但其他没有,我想要的是改变边框的颜色,当它不集中怎么做?请提前帮助和感谢
解决方案
您可以使用该boxStrokeColor
属性。它可以与选择器一起使用。
使用类似的东西:
<com.google.android.material.textfield.TextInputLayout
app:boxStrokeColor="@color/text_input_layout_stroke_color"
..>
或者
<style name="WhiteOutlineBox" parent="Widget.MaterialComponents.TextInputLayout.OutlineBox">
<item name="boxStrokeColor">@color/text_input_layout_stroke_color</item>
</style>
和:
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:alpha="..." android:color="@color/...." android:state_focused="true"/>
<item android:alpha="..." android:color="@color/...." android:state_hovered="true"/>
<item android:alpha="..." android:color="@color/...." android:state_enabled="false"/>
<item android:alpha="..." android:color="@color/...."/> <!-- unfocused -->
</selector>
推荐阅读
- c++ - 引用错误随机间距c ++
- python - 多处理中的 Python 内存泄漏
- python - 根据文件名自动创建文件夹
- javascript - 窗口对象中缺少 Redux devtools
- flutter - 如何在颤动中从异步函数安全地调用 setState 函数?
- python - 使用修复颜色条为多个 xarray 绘图制作干净的高质量 GIF
- node.js - 将字符串中的数组转换为 node/express 中的 ObjectId
- ios - SwiftUI - 使用 Toggle 隐藏列表项
- python-3.x - 使用 python-docx 在 MSWord 中添加超链接(电子邮件)
- oracle - 检查不在两个日期之间sql