2013-12-05 4 views
2

Я попытался использовать android: listSelector, но он работает только тогда, когда я нажимаю на ячейку списка, как я могу изменить цвет выделения выбранной ячейки, так что ячейка будет оставаться выделенной цветом? Большое спасибо.Как изменить синий цвет выбранного элемента в навигационном ящике

highlight in blue

highlight in orange

ответ

0

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

@Override 
    public View getView(int position, View convertView, ViewGroup parent) { 
     View your_custom_view = null; 

     if (convertView == null) { 
      your_custom_view = LayoutInflater.from(context).inflate(R.layout.your_custom_view_layout, null); 
     } else { 
      your_custom_view = convertView; 
     } 

     return your_custom_view; 
    } 
16

добавить это в макете используется, чтобы показать элементы ListView

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

Создайте файл Рез/рисуем/my_background.xml со следующим содержанием:

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:state_activated="true" android:drawable="@color/blue" /> 
    <item android:drawable="@android:color/transparent" /> 
</selector> 

Замените цвет @ синим цветом по вашему выбору. Тогда, в вашей теме, добавьте следующую строку:

<item name="android:activatedBackgroundIndicator">@drawable/my_background</item> 
+0

я не знаю, почему, но это не работает для меня .. Я думаю, что нужно –

+0

как об изменении цвета текста навигации лотка при выбран? – enzo

+0

добавьте это в селектор SpyZip

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