Изменение цвета подчеркивания TextInputEditText не работает внутри ScrollView - PullRequest
0 голосов
/ 04 декабря 2018

Моя цель - программно изменить метку подсказки и подчеркнуть цвет в сфокусированном TextInputEditText .Через некоторое время я наконец-то начал работать в тестовой среде, но при реализации в моем реальном приложении подчеркивание неожиданно перестало работать.Я сузил его до ScrollView.

Я пытался связываться с фокусом в ScrollView, TextInputEditField и TextInputLayout, но ни один не работал.

Чтобы изменить цвет, я просто использовал BackgroundTintList:

    int[][] states = new int[][] {
            new int[] {android.R.attr.state_focused},
            new int[] {android.R.attr.state_enabled},
    };

    int[] colors = new int[] {
            Color.CYAN,
            Color.BLUE,
    };

    ColorStateList myList = new ColorStateList(states, colors);

    ViewCompat.setBackgroundTintList(edit, myList);

Тестовое приложение для воспроизведения: https://github.com/guiquintelas/textinputedittext-underline-color

Некоторые изображения:

Outside ScrollView

Inside ScrollView

Ответы [ 2 ]

0 голосов
/ 16 июня 2019

Чтобы программно изменить цвет TextInputEditText, используйте метод setBackgroundTintList или setsetSupportBackgroundTintList для предварительного леденца

 editText.setSupportBackgroundTintList(ColorStateList.valueOf(Color.parseColor("#F00000")));
0 голосов
/ 04 декабря 2018

Используйте этот код для изменения цвета текста редактирования. ПОПРОБУЙТЕ

используйте backgroundTint, чтобы изменить цвет

<EditText
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="Underline color change"
        android:backgroundTint="@android:color/holo_red_light" />
...