在我的应用程序中,我正在使用TextInputLayout和更新的材质主题style=Widget.MaterialComponents.TextInputLayout.OutlinedBox
。
我必须为每个TextInputLayout的边框添加渐变颜色(从蓝色到绿色),就像下一张图片一样。
问题是我没有找到关于如何为边框实现渐变颜色效果的任何解决方案。我可以更改边框的颜色,但是颜色是纯色的,就像下一个gif:
这就是我创建TextInputLayout的方式
<android.support.design.widget.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="@style/Widget.Design.TextInputLayout">
<android.support.design.widget.TextInputEditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Label"
style="@style/MyTextInputEditText"/>
</android.support.design.widget.TextInputLayout>
样式:
<style name="Widget.Design.TextInputLayout" parent="Widget.MaterialComponents.TextInputLayout.OutlinedBox">
<item name="boxStrokeColor">@color/edit_text_box_border</item>
<item name="hintTextAppearance">@style/AppTheme.TextFloatLabelAppearance</item>
</style>
<style name="MyTextInputEditText" parent="ThemeOverlay.MaterialComponents.TextInputEditText.OutlinedBox.Dense">
<item name="android:textColor">@color/colorCharcoalGrey</item>
</style>
edit_text_box_border.xml
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="@color/colorBlue" android:state_focused="true"/>
<item android:color="@color/colorBlue" android:state_hovered="true"/>
<item android:color="@color/colorBlue" android:state_enabled="false"/>
<item android:color="@color/colorBlue"/>
</selector>
是否可以在材质主题已更新的TextInputLayout中添加渐变效果?
如果是,该怎么办?
先谢谢。任何帮助/建议,将不胜感激。