2016-04-21 3 views
1

Как добавить к компоненту EditText еще один намек, который будет реагировать как подсказка, но с разным значением в качестве подсказки по умолчанию.Несколько советов или несколько стилей для одного и того же намека на edittext

Например: название поля - это город, поэтому я хотел бы, чтобы основной намек в черном отображался как «город», а в светло-голубом я хотел бы, чтобы он был вытеснен как «нажмите, чтобы выбрать город».

Есть ли готовые компоненты или атрибуты xml для этого? Является ли этот случай, когда мне нужен Java-код и реализовать onfocus и показать/скрыть другой TextView, который будет реагировать как метка?


Я получил это как strings.xml:

<string name="fld_fullname"> 
    <![CDATA[ 
     <font color="#8B8B8B">City</font> <font color="#BABABA">tap to change</font> 
    ]]> 
</string> 

и это в Java-код:

etCity.setHint(Html.fromHtml(getString(R.string.fld_city))); 

Теперь, как я могу взять цвет из colors.xml? Могу ли я использовать заполнители или есть лучший способ? Просить лучшую практику ...

ответ

4

Существует только один атрибут намека на EditText хотя вы можете добавить разноцветную подсказку программно, как этого

myEditView.setHint(Html.fromHtml("city - <font color='blue'>tap to select a city</font>.")); 

EDIT: если вы принимаете значения из string.xml и color.xml then do following:

myEditView.setHint(Html.fromHtml(getString(R.string.hint1)+" <font color='"+getResources().getColor(R.color.hintColor)+"'>"+getString(R.string.hint2)+"</font>.")); 
+0

Знаете ли вы, как изменить его, чтобы цвет был взят из colors.xml и строки из strings.xml? Я редактирую свой вопрос и отмечаю ваше первоначальное решение как ответ – lionheart

+1

Я отредактировал свой ответ. Пожалуйста, проверьте. – nitinkumarp

+0

отлично работает нормально – lionheart

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