2013-06-15 3 views
1

У меня проблема с реализацией селектора в пользовательском представлении. Я искал его в течение последних 1 часа, но я не мог найти решение. У меня есть пользовательский вид с изображением, некоторыми текстовыми изображениями и девятью фоновыми патчами, но проблема в том, что когда он находится в нажатом состоянии, цвет селектора не охватывает изображение.Селектор в пользовательском представлении с 9 патчами изображения Фон

enter image description here

Для реализации, я использую селектор фона для макета и я просто изменить образ 9 патч на прессуют и не-нажатом состоянии, затем отключить переключатель по умолчанию в ListView.

У вас есть лучшее решение? Я вижу в google play, синий селектор охватывает все взгляды, и это то, что я хочу.

Для XML,

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:background="@drawable/touch_selector" 
    android:orientation="horizontal" 
    android:padding="16dp" > 

    <ImageView /> 

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:orientation="vertical" > 

     <TextView /> 

     <TextView /> 
    </LinearLayout> 

</LinearLayout> 

И для сенсорного переключателя

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 

    <item android:drawable="@drawable/card_background_pressed" android:state_focused="true"/> 
    <item android:drawable="@drawable/card_background_pressed" android:state_pressed="true"/> 
    <item android:drawable="@drawable/card_background_white" android:state_focused="false" android:state_pressed="false"/> 

</selector> 

, где card_background является 9 патч изображения.

EDIT:

Это пример из Google Play,

Google play

+0

'цвет селектора не покрывает изображение view' вы имеете в виду, что зеленый селектор должен охватывать весь элемент списка, или что само изображение должно получить зеленый фон? – verybadalloc

+0

Да, зеленый селектор должен охватывать весь элемент списка. Он выглядит как зеленый селектор поверх предмета с непрозрачностью 50%. Отличный пример - в элементе списка воспроизведения Google. – Huteri

+0

Можете ли вы опубликовать скриншот примера элемента списка google play, пожалуйста, потому что я действительно не понимаю, чего вы пытаетесь достичь? – verybadalloc

ответ

1

я получил ответ. Это очень просто, и это невозможно с 9 патч-изображениями, хотя .. Это ясно описано в этой статье, http://arpitonline.com/blog/2013/05/11/android-implementing-touch-feedback-on-views/

Затем мне просто нужно настроить свой список, элемент списка элементов с помощью селектора. Готово.

1

Подтверждение неверное. В селекторе можно использовать девять путей, вам просто нужно использовать девять патчей < >. Что-то вроде этого:

<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:state_selected="true"> 
     <nine-patch 
      android:src="@drawable/marker"/> 
    </item> 
    <item> 
     <shape> 
      <solid android:color="#000000" /> 
     </shape> 
    </item> 
</selector> 
+0

у вас возник вопрос немного неправильно, но вы просто отвечаете на мой вопрос kkk –

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

  • Нет связанных вопросов^_^