Android TextInputLayout endIconDrawable отображается серым вместо изображения

TextInputLayout endIconDrawable отображается серым цветом вместо необходимого изображения.

Только это изображение отображается серым цветом. Я попробовал изображение в формате png, а также импортировал svg в качестве векторного актива.

Оба не работают должным образом.

Я попытался установить изображение в TextInputLayout:

<com.google.android.material.textfield.TextInputLayout
            android:id = "@+id/chatFragment_TIL1"
            android:layout_width = "match_parent"
            android:layout_height = "50dp"
            app:boxBackgroundMode = "outline"
            android:layout_toRightOf = "@id/chatFragment_imageView2"
            android:layout_marginStart = "15dp"
            app:boxCornerRadiusTopStart = "@dimen/TIL_CornerRadius2"
            app:boxCornerRadiusTopEnd = "@dimen/TIL_CornerRadius2"
            app:boxCornerRadiusBottomStart = "@dimen/TIL_CornerRadius2"
            app:boxCornerRadiusBottomEnd = "@dimen/TIL_CornerRadius2"
            app:endIconMode = "custom"
            app:endIconDrawable = "@drawable/ic_message_send_icon"
            style = "@style/TextInputLayoutStyle"
            app:hintEnabled = "false">

            <com.google.android.material.textfield.TextInputEditText
                android:id = "@+id/chatFragment_TIET1"
                android:layout_width = "match_parent"
                android:layout_height = "wrap_content"
                android:inputType = "textPersonName"
                android:fontFamily = "@font/inter_regular"
                android:textColor = "@color/black_text_dark"
                android:hint = "@string/chatFragment_Text1"
                android:textSize = "@dimen/normalText1"
                />
        </com.google.android.material.textfield.TextInputLayout>

Я также меняю его при изменении ввода текста, как показано ниже:

if (s.length() > 0){
                    inputMessageTIL.setEndIconDrawable(R.drawable.ic_message_send_icon);
                } else {
                    inputMessageTIL.setEndIconDrawable(R.drawable.ic_mic);
                }

Это векторный код:

<vector xmlns:android = "http://schemas.android.com/apk/res/android"
    android:width = "32dp"
    android:height = "32dp"
    android:viewportWidth = "32"
    android:viewportHeight = "32">
  <path
      android:pathData = "M16,16m-16,0a16,16 0,1 1,32 0a16,16 0,1 1,-32 0"
      android:fillColor = "#6B4EFF"/>
  <path
      android:pathData = "M22.5,9.5L14.25,17.75M22.5,9.5L17.25,24.5L14.25,17.75M22.5,9.5L7.5,14.75L14.25,17.75"
      android:strokeLineJoin = "round"
      android:strokeWidth = "1.5"
      android:fillColor = "#00000000"
      android:strokeColor = "#ffffff"
      android:strokeLineCap = "round"/>
</vector>

Это изображение, которое я использовал в формате png Android TextInputLayout endIconDrawable отображается серым вместо изображения

Это то, что я получаю сейчас .. изображение серого круга .. Android TextInputLayout endIconDrawable отображается серым вместо изображения

Помогите пожалуйста мне. Я не могу использовать другое изображение. Большое спасибо!

0
0
32
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Используйте endIconTint для установки цвета

app:endIconTint = "@color/redText"
app:endIconTintMode = "multiply"

app:endIconTintMode = "multiply" app:endIconTint = "@null" - Используя это, он работает, как и ожидалось.. Большое спасибо за ответ.. Вы сэкономили мое время..

Sabarish Aruchamy 23.03.2022 10:19

Да, вы можете использовать @null, чтобы использовать цвет изображения или установить собственный оттенок. Пожалуйста, примите этот ответ, если он вам помог.

Abhishek AN 23.03.2022 10:21

Другие вопросы по теме