2015-05-27 2 views
0

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

Когда я фокусирую свое поле электронной почты, визуальная обратная связь отсутствует.

Какую визуальную обратную связь я должен предоставить? Есть ли стандарт на то, что ожидает пользователь?

Я думал о каком-то цветке фона или о цвете границы поля.

Любой способ достичь этого?

Моей раскладка:

<EditText 
    android:id="@+id/login_email_edittext" 
    style="@style/editext_graybg" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:drawableLeft="@drawable/ic_username" 
    android:drawableStart="@drawable/ic_username" 
    android:hint="@string/login_email_hint" > 

    <requestFocus /> 
</EditText> 

И стиль:

<style name="editext_graybg" parent="android:Widget.EditText"> 
    <item name="android:background">@drawable/editext_bg_gray</item> 
    <item name="android:drawablePadding">@dimen/pad_10dp</item> 
    <item name="android:ems">10</item> 
    <item name="android:inputType">textEmailAddress</item> 
    <item name="android:paddingLeft">@dimen/pad_10dp</item> 
    <item name="android:paddingRight">@dimen/pad_10dp</item> 
    <item name="android:textColor">@color/black</item> 
    <item name="android:textSize">@dimen/txt_18sp</item> 
</style> 

EDIT: Я попробовал следующее решение, но оно не является удовлетворительным, поскольку это уменьшает размер моего красиво стилизованное поле: Я добавил текстовый файл textfield_selected.9.png в папку drawable /, я добавил файл edit_text.xml в папку drawable /, содержащую <item android:drawable="@drawable/textfield_selected" android:state_enabled="true" android:state_focused="true" /> , и я добавил атрибут android: background = "@ drawable/edit_text" на мой поле. Но сейчас поле слишком маленькое. Использование изображения для этого стиля заменяет мой существующий стиль. Есть ли способ сделать это без изображения?

+0

Возможный дубликат http://stackoverflow.com/questions/4584882/how-to-change-focus-color-of-edittext-in-android –

ответ

1

Вы должны создать селектор внутри вашей папки. Этот селектор будет иметь разные состояния editText (с фокусом или без i.e).

<selector 
xmlns:android="http://schemas.android.com/apk/res/android" 
> 
<item 
    android:state_pressed="true" 
    android:drawable="@android:drawable/edittext_pressed" 
    />  
<item 
    android:state_focused="true" 
    android:drawable="@drawable/edittext_focused" 
    /> 
<item 
    android:drawable="@android:drawable/edittext_normal" 
    /> 

После этого в вашем EditText вы можете поставить в качестве фона этот селектор, и он должен работать.

+0

Я принимаю ваш ответ, поскольку то, что вы написали, является правильным. Просто чтобы вы знали, я не мог понять ваш ответ, и мне это совсем не помогло. После того, как я несколько раз искал и пытался в течение нескольких дней, я теперь сам решил проблему. Но никаких серьезных чувств, я благодарю вас за вашу попытку. – Stephane

+0

Спасибо, но вы могли бы спросить меня, что вы не поняли;) иногда, когда вы понимаете что-то, что, по вашему мнению, оно самоочевидно, и вы не говорите это четко. Я думаю, это случилось со мной. – acostela

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