2013-08-09 4 views
0

Я пытаюсь создать интерактивное текстовое поле, которое выделяется как элемент списка при нажатии. У меня есть собственное фоновое изображение, которое я хочу использовать, так что я не могу использоватьПользовательское фоновое изображение для текстового изображения

android:background="?android:attr/selectableItemBackground" 

Есть ли способ я могу достичь синего «свечение» влияет, когда я нажимаю на текстовом поле, используя свое собственное фоновое изображение для текстового поля ? В настоящее время мой TextView выглядит следующим образом:

<TextView xmlns:android="http://schemas.android.com/apk/res/android" 
      android:id="@+id/title" 
      style="@style/ListSeparatorTextViewStyle" 
      android:paddingLeft="10dip" 
      android:paddingRight="10dip" 
      android:focusable="true"/> 

UPDATE:

<?xml version="1.0" encoding="utf-8"?> 

<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:background="?android:attr/selectableItemBackground" 
      android:state_pressed="true" /> 

    <item android:drawable="@drawable/list_section_divider_holo_custom"></item> 
</selector> 
+0

Для 'TextView's вы должны будете предоставить два изображения (нормальное и выделенное) и использовать селектор, чтобы изменить их на «TextView». – g00dy

+0

Еще одно предложение от меня - сделайте текст View Button (он имеет два встроенных состояния). Это будет легко манипулировать, но это зависит от ваших потребностей. – g00dy

+0

Можете ли вы привести фрагмент примера о том, как я могу достичь вашего первого предложения? –

ответ

1

вы можете создать рисуем на фоне TextView же ниже

<selector xmlns:android="http://schemas.android.com/apk/res/android"> 

<item android:state_pressed="true" ><!-- this drawable display when you press textView --> 
<shape android:shape="rectangle" > 
<gradient android:startColor="#fa7905" 
      android:endColor="#fcc96b" 
      android:angle="90" 
></gradient> 
</shape> 
</item> 

<item android:drawable="your drawable"> 
<!-- this drawable show when you dont press textview --> 
</item> 

</selector> 
+0

не помешает ли мне другим другим? Как использовать этот селектор? –

+0

Я отредактировал свой ответ. Думаю, теперь вы можете использовать его –

+0

Я получаю сообщение об ошибке, когда я это делаю. android.view.InflateException: двоичная строка XML-файла # 3: ошибка раздувания класса . Я назвал ваш селектор list_selector в файле xml и попытался установить его в качестве фона, установив тег android: background = "@ layout/list_selector" в своем текстовом поле –

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