2012-06-22 3 views
3

Я хочу показать некоторый текст справки (так же, как на веб-странице, когда поле сосредоточено, отображается немодальное всплывающее окно о том, что вводить в поле).Показать справочное сообщение onFocus of Edittext android

Я использовал атрибут EditText android:hint, но это скопирует текст, если он длинный. Есть ли встроенный или быстрый способ сделать это?

ответ

6

Добавьте TextView под своим EditText, который содержит подсказку. По умолчанию установите его невидимым.

<EditText 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
/> 
<TextView 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:text="your hint message..." 
/> 

Теперь добавьте onFocusChangeListener сделать TextView видимым/невидимым:

editText.setOnFocusChangeListener(new OnFocusChangeListener() { 
    @Override 
    public void onFocusChange(View v, boolean hasFocus) { 
     if(hasFocus){ 
      tvHint.setVisibility(View.VISIBLE); 
     }else{ 
      tvHint.setVisibility(View.INVISIBLE); 
     } 
    } 
}); 
0

Есть TextView чуть ниже EditText. Внесите onFocusListener в edittext, и когда текст редактирования имеет фокус, установите видимость textView для View.VISIBLE, которая отобразит текст справки. И когда текст редактирования теряет фокус, текст становится невидимым.

0

вы можете использовать Custom Toast массаж или PopupWindow для покадрово всплывающего окна, как веб увидеть эти Понравилось помочь у создания пользовательских Тосты и popupwindow

https://github.com/quiqueqs/Toast-Expander/blob/master/src/com/thirtymatches/toasted/ToastedActivity.java

http://www.mobilemancer.com/2011/01/08/popup-window-in-android/

и использовать OnFocusChangeListener Listener для отслеживания, когда пользователь нажал на EditView или при фокусе разведения

txtEdit.setOnFocusChangeListener(new OnFocusChangeListener() {   

     public void onFocusChange(View v, boolean hasFocus) { 
      if(!hasFocus) 
       //show Toast massages or PopupWindow  here   
     } 
    }); 
Смежные вопросы