GridView и ListView подсветка выделенных пунктов
GridView и ListView подсветка выделенных пунктов
GridView и ListView при касании подсвечивают выделенный пункт оранжевым цветом, возможно изменить этот цвет на свой с помощью xml?
Последний раз редактировалось neoksi 30 авг 2012, 23:12, всего редактировалось 1 раз.
Re: GridView и ListView подсветка выделенных пунктов
на счёт GridView не знаю, но в ListView уже подсказали есть setChoiceMode(int Color) , но я бы всё равно сделал бы по гибкому (хоть и с гемороем): в один xml-файл описать разметку ячейки при обычном состоянии, второй xml-файл описать разметку ячейки при нажатом состоянии, и третий xml-файл е сли надо с разметкой если выбрана ячейка, потом ещё четвёрный xml-файл-селектор где указаны при каких состояниях подгружать какой xml и подключить этот файл в адаптере ListView. Вот такой вот велосипед, зато красивый результат получится
R.id.team
Политика на форуме запрещена
Политика на форуме запрещена
Re: GridView и ListView подсветка выделенных пунктов
rezak90, с ячейками это заманчиво, думаю сработает и в GridView и в ListView, но при этом, при скролинге этих элементов, нижнее и верхнее затемнение останутся с оранжевым отливом =(.
Пробовал в xml прописать для GridView свойство ChoiceMode (не помню как точно там строка пишется), цвет менялся, но при этом терялись отступы между ячейками.
Пробовал в xml прописать для GridView свойство ChoiceMode (не помню как точно там строка пишется), цвет менялся, но при этом терялись отступы между ячейками.
Re: GridView и ListView подсветка выделенных пунктов
Нужно установить свой listSelector. Будет подсвечивать при касании, но при отпускании подсветка будет пропадать.
grid_selector.xml:
grid_selector_focus.xml:
grid_selector_pressed.xml:
Последние два файла можно заменить на .9.png (но тогда нужно делать набор под разные разрешения)
Код: Выделить всё
<GridView android:listSelector="@drawable/grid_selector" android:drawSelectorOnTop="true"/>
Код: Выделить всё
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:state_focused="true" android:state_pressed="false"
android:drawable="@drawable/grid_selector_focus" />
<item android:state_focused="true" android:state_pressed="true"
android:drawable="@drawable/grid_selector_pressed" />
<item android:state_focused="false" android:state_pressed="true"
android:drawable="@drawable/grid_selector_pressed" />
</selector>
Код: Выделить всё
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" >
<corners android:radius="2dip" />
<stroke
android:width="1dip"
android:color="#FF8000" />
<solid android:color="#00000000"/>
</shape>
Код: Выделить всё
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" >
<corners android:radius="2dip" />
<stroke
android:width="1dip"
android:color="#FF0000" />
<solid android:color="#00000000"/>
</shape>
Re: GridView и ListView подсветка выделенных пунктов
Помоему что-то похожее было, пропишите для списка метод setCacheColorHint(Color.Transparent), это из кода, можно в xml это сделать, там есть аткой атрибут у ListView..neoksi писал(а):rezak90, с ячейками это заманчиво, думаю сработает и в GridView и в ListView, но при этом, при скролинге этих элементов, нижнее и верхнее затемнение останутся с оранжевым отливом =(.
Пробовал в xml прописать для GridView свойство ChoiceMode (не помню как точно там строка пишется), цвет менялся, но при этом терялись отступы между ячейками.
Может я неправильно вас понял..
Re: GridView и ListView подсветка выделенных пунктов
math64, огромное спасибо, очень помог.math64 писал(а):...
Последние два файла можно заменить на .9.png (но тогда нужно делать набор под разные разрешения)
.9.png - я не сторонник использования готовой графики, лучше прописать в xml, меньше мороки с масштабированием.