android - цвет - textview жирный текст




Как написать стиль в текст ошибки EditText в Android? (4)

Пожалуйста, добавьте его во время проверки формы, если текстовое поле редактирования пуст.

            int ecolor = R.color.black; // whatever color you want
        String estring = "Please enter a valid email address";
        ForegroundColorSpan fgcspan = new ForegroundColorSpan(ecolor);
        SpannableStringBuilder ssbuilder = new SpannableStringBuilder(estring);
        ssbuilder.setSpan(fgcspan, 0, estring.length(), 0);

        edtEmail.requestFocus();
        edtEmail.setError(ssbuilder); 

когда вы пишете текст редактирования, автоматически включается знак ошибки

Спасибо Sachin

Я пытаюсь написать новый пользовательский стиль для моего приложения для Android. Мне нужно указать стиль errorText, который появляется после установки setError в EditText .

Как я могу настроить стиль?

Например: я хочу установить белый background и textColor : синий и т. Д. И т. Д. В style.xml


Решение находится в конце, и вот скриншот:

Некоторое Объяснение

Возможно, вы можете установить цвет текста, используя следующую строку

yourEditText.setError(Html.fromHtml("<font color='blue'>this is the error</font>"));

Однако это может быть не гарантировано.

Согласно исходному коду, этот Popup ErrorPopup имеет тип ErrorPopup который является внутренним классом внутри TextView . Содержимое этого Popup - это один TextView завышенный от com.android.internal.R.layout.textview_hint

final TextView err = (TextView) inflater.inflate(com.android.internal.R.layout.textview_hint,
      null);

Фон этого Popup зависит от того, следует ли разместить его над якорем:

if (above) {
    mView.setBackgroundResource(com.android.internal.R.drawable.popup_inline_error_above);
} else {
    mView.setBackgroundResource(com.android.internal.R.drawable.popup_inline_error);
}

Поскольку все ресурсы android, используемые для создания всплывающих окон, являются внутренними и в конечном итоге жестко закодированными, ваш лучший снимок - это создать собственное всплывающее окно ошибки. Это было бы очень просто, и вы бы не стали вмешиваться в обычный EditText потому что всплывающее окно по умолчанию просто используется для отображения ошибки, и, таким образом, создание вашего собственного файла будет в порядке.

РЕШЕНИЕ

Я создал его здесь: WidgyWidgets


Я видел принятый ответ, но мне не нравится предлагаемая библиотека

Я думаю, что это ошибка в платформе Android, и я подал здесь ошибку: https://code.google.com/p/android/issues/detail?id=158590

EDIT: библиотека дизайна android. Виджет TextInputLayout можно использовать для получения лучшей обработки ошибок в EditText.

Посмотрите, как это выглядит здесь: https://www.youtube.com/watch?v=YnQHb0fNtF8

И как реализовать здесь: http://code.tutsplus.com/tutorials/creating-a-login-screen-using-textinputlayout--cms-24168


Я не думаю, что вы можете настроить свой стиль таким образом, поскольку всплывающее окно ошибки использует внутренний стиль :

mPopupInlineErrorBackgroundId = getResourceId(mPopupInlineErrorBackgroundId,
                    com.android.internal.R.styleable.Theme_errorMessageBackground);
mView.setBackgroundResource(mPopupInlineErrorBackgroundId);

Однако вы можете установить значок setError(CharSequence, Drawable) и пользовательский значок ошибки, используя перегруженный setError(CharSequence, Drawable) .

Вы можете легко создать Spanned из HTML, используя fromHtml() .

Однако вы не сможете установить всплывающее фоновое изображение :-(





android-layout