2016-12-22 5 views
1

Как изменить фон метода setError(), который я использую, чтобы отобразить любую ошибку, возникшую в textview. Я могу изменить цвет шрифта, но не цвет фона.Как изменить цвет фона setError() в android

enter image description here

Мой файл Java:

Тестирование общественного класс расширяет AppCompatActivity {

EditText name,email,pass; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_testing); 
    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); 
    setSupportActionBar(toolbar); 

    name = (EditText)findViewById(R.id.input_name); 
    email = (EditText)findViewById(R.id.input_email); 
    pass = (EditText)findViewById(R.id.input_password); 

    name.setError("Your name should not contain empty space"); 
} 

}

ответ

0

Используйте этот android.support.design.widget.TextInputLayout. , который может отображать ошибку ниже до Edittext .so Вы можете легко написать следующее, как ваши number и password в новом Edittext.

Вот XML-код:

<LinearLayout 
     android:layout_width="fill_parent" 
     android:layout_height="match_parent" 
     android:layout_marginTop="?attr/actionBarSize" 
     android:orientation="vertical" 
     android:paddingLeft="20dp" 
     android:paddingRight="20dp" 
     android:paddingTop="60dp"> 

     <android.support.design.widget.TextInputLayout 
      android:id="@+id/input_layout_name" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content"> 

      <EditText 
       android:id="@+id/input_name" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:singleLine="true" 
       android:hint="@string/hint_name" /> 
     </android.support.design.widget.TextInputLayout> 

     <android.support.design.widget.TextInputLayout 
      android:id="@+id/input_layout_email" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content"> 

      <EditText 
       android:id="@+id/input_email" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:inputType="textEmailAddress" 
       android:hint="@string/hint_email" /> 
     </android.support.design.widget.TextInputLayout> 

     <android.support.design.widget.TextInputLayout 
      android:id="@+id/input_layout_password" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content"> 

      <EditText 
       android:id="@+id/input_password" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:inputType="textPassword" 
       android:hint="@string/hint_password" /> 
     </android.support.design.widget.TextInputLayout> 
</LinearLayout> 

Давайте посмотрим на скриншоте для понимания.

Пустой Edittext.

enter image description here

Сообщение об ошибке EditText.

enter image description here

Более подробно см Ответ:How to make edit text error position in android?

+0

Спасибо очень хорошее предложение .. Но я хочу знать, можем ли мы в состоянии изменить цвет фона на setError()? Я прошел через свои сайты, но я не могу получить что-либо ясно. – Rishu

+0

@Rishu это последняя библиотека 'EditText', а также материальный дизайн, чтобы сделать макет чистым и отображать в очень хорошей форме. Поэтому удалите свой код и добавьте его. – Ironman

+0

да, я попытался с помощью TextInputLayout застрять с той же проблемой .. Не получаю ошибку ниже, как ваша .. – Rishu

Смежные вопросы