TextInputLayout样式

时间:2019-09-05 08:34:17

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

我的自定义TextInputLayout有问题。这是我的代码

<com.google.android.material.textfield.TextInputLayout
    android:id="@+id/phone"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:theme="@style/CustomTextInputLayout"
    android:hint="@string/phone_number"
    android:layout_marginTop="8dp"
    android:layout_marginStart="16dp"
    android:layout_marginEnd="16dp"
    app:startIconDrawable="@drawable/account"
    android:background="@color/bg_light_gray"
    app:layout_constraintLeft_toLeftOf="parent"
    app:layout_constraintRight_toRightOf="parent"
    app:layout_constraintTop_toBottomOf="@+id/page_description">

    <com.google.android.material.textfield.TextInputEditText
        android:layout_width="match_parent"
        android:layout_height="?attr/listPreferredItemHeight"
        android:background="@color/bg_light_gray"
        android:inputType="phone"
        android:singleLine="true" />
</com.google.android.material.textfield.TextInputLayout>

这是我来自style.xml文件的代码

<style name="CustomTextInputLayout" parent="Widget.Design.TextInputLayout">
    <item name="errorTextAppearance">@style/ErrorText</item>
    <item name="colorControlNormal">@color/green_txt</item>
    <item name="colorControlActivated">@color/orange</item>
    <item name="colorControlHighlight">@color/orange</item>
</style>

我想将基线颜色TextInputLayout设置为橙色,但现在是灰色。另外,我放置了一个图标,其原始颜色为橙色,但放置后变为深灰色。现在,我不了解为什么会发生这种情况以及如何解决此问题。有人可以帮我吗?

1 个答案:

答案 0 :(得分:1)

  

我想将TextInputLayout的基线颜色设置为橙色

只需使用sed 's/\x27/\\"/g' file | \ jq '.orders|=(fromjson|map(((.items[].itemid|=321)|(.items[].quantity|=1)|(.items[].price|=10000)|(.items[].shopid|=789)))|tojson)' { "orders": "[{\"items\":[{\"itemid\":321,\"quantity\":1,\"price\":10000, \"currency\":\"IDR\",\"shopid\":789,\"item_group_id\":null,\"add_on_deal_id\":null,\"checkout\":true}],\"shopid\":\"\"}]", "check_voucher_payment_criteria": false, "need_wallet_active_info": false } 属性的Material theme(例如Widget.MaterialComponents.TextInputLayout.FilledBox)即可更改颜色。

app:boxStrokeColor

其中的选择器类似于:

<com.google.android.material.textfield.TextInputLayout
    android:id="@+id/custom_end_icon"
    style="@style/Widget.MaterialComponents.TextInputLayout.FilledBox"
    app:boxStrokeColor="@color/text_input_selector

enter image description here

  

我还放置了一个图标,其原始颜色为橙色,但放置后变为深灰色。

使用<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:color="?attr/colorPrimary" android:state_focused="true"/> <item android:alpha="0.87" android:color="?attr/colorOnSurface" android:state_hovered="true"/> <item android:alpha="0.12" android:color="?attr/colorOnSurface" android:state_enabled="false"/> <item android:alpha="0.38" android:color="?attr/colorAccent"/> </selector> 属性将颜色或颜色选择器应用于结束图标。

app:endIconTint

enter image description here