gpt4 book ai didi

android - 问题 : change border color or box stroke for unfocused TextInputLayout in android

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:50:40 26 4
gpt4 key购买 nike

我有一个非常具体的问题,就是在 TextInputLayout 未聚焦时更改文本框的轮廓。我似乎无法找到一个属性来更改“未聚焦”文本框边框的颜色。

这是我正在尝试做的一个可视化示例:

这个 (textbox):border 的颜色不是白色。目前它没有重点。单击后,它变成白色:

不知道要改什么,好像没有属性可以改

我也在使用 Material Design 文本输入布局样式,尽管我不知道这是否会影响它。

这是我的文本框 xml 代码:

 <other layouts ... >
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="70dp"
android:layout_gravity="bottom"
android:layout_margin="5dp"
android:background="@drawable/item_recycler_view">

<android.support.design.widget.TextInputLayout
android:id="@+id/dialog_text_input_layout"
style="@style/Widget.AppTheme.TextInputLayoutList"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Quick Add..."
android:textColorHint="@color/colorWhite"
app:boxStrokeColor="@color/colorWhite"
app:errorEnabled="true"
>

<android.support.design.widget.TextInputEditText
android:id="@+id/dialog_edit_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="text"
android:maxLines="1"
android:textColor="@color/colorWhite"
android:textSize="14sp" />
</android.support.design.widget.TextInputLayout>
</RelativeLayout>
</other layouts...>

下面是我为此使用的样式:

<style name="TextAppearance.AppTheme.TextInputLayout.HintTextAlt" parent="TextAppearance.MaterialComponents.Subtitle2">
<item name="android:textColor">@color/colorWhite</item>
</style>

<style name="Widget.AppTheme.TextInputLayoutList" parent="Widget.MaterialComponents.TextInputLayout.OutlinedBox">
<item name="hintTextAppearance">@style/TextAppearance.AppTheme.TextInputLayout.HintTextAlt</item>
<item name="boxStrokeColor">@color/colorWhite</item>
<item name="boxCornerRadiusBottomEnd">5dp</item>
<item name="boxCornerRadiusBottomStart">5dp</item>
<item name="boxCornerRadiusTopEnd">5dp</item>
<item name="boxCornerRadiusTopStart">5dp</item>
<item name="android:layout_margin">5dp</item>
</style>

谢谢,欢迎任何帮助或建议!

最佳答案

如果你想在非焦点模式下设置轮廓框的颜色而不是默认的黑色,你必须在 colors.xml 文件中添加这一行,这将覆盖轮廓的默认颜色盒子。

按原样复制此行。您可以根据需要更改颜色。

<color name="mtrl_textinput_default_box_stroke_color">#fff</color>

直到现在它都可以工作,要对 TextInputLayout 进行更多控制,您可以在 styles.xml 中添加此样式

<style name="TextInputLayoutStyle" parent="Widget.MaterialComponents.TextInputLayout.OutlinedBox.Dense">
<item name="boxStrokeColor">#fff</item>
<item name="boxStrokeWidth">2dp</item>
</style>

然后将主题添加到 TextInputLayout

android:theme="@style/TextInputLayoutStyle"

关于android - 问题 : change border color or box stroke for unfocused TextInputLayout in android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52175748/

26 4 0