Имеется поле для ввода и кнопка, если мы не заполним данное поле и нажмем на кнопку, выводится вот такая ошибка в виде подсказки, как на скриншоте ниже. Подсказка накладывается поверх всех остальных элементов, интересует каким образом можно реализовать это, спасибо)
Это стандартный функционал виджета EditText
и реализуется методом setError("Message")
. Так же возможен перегруженный метод с собственной иконкой:
editText.setError("message", R.drawable.icon_error);
Проверка на пусстое поле может быть такой:
final EditText editText = (EditText)findViewById(R.id.edit);
editText.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void afterTextChanged(Editable s) {
if (editText.getText().toString().length <= 0) {
firstName.setError("Не может быть пустым");
} else {
firstName.setError(null);
}
}
});
UPDATE: Так же вы можете использовать более стильный виджет из библиотеки поддержки TextInputLayout
и выводить ошибки такого вида:
<android.support.design.widget.TextInputLayout
android:id="@+id/inputLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:errorEnabled="true">
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/First_name" />
</android.support.design.widget.TextInputLayout>
TextInputLayout inputLayout = (TextInputLayout) findViewById(R.id.inputLayout);
inputLayout.setError("First name is required"); // show error
inputLayout.setError(null); // hide error
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Как мне получить текущую позицию при перетаскиваниии:
Разработайте приложение "Модификация одномерного массива", которое позволяет пользователю:
Где можно узнать какие пакеты полностью совпадают в Java 8 и Android 4x и выше? Какие пакеты совпадают полностью? Например java