Change press color in ListView with "layer-list"?

Интерфейс, диалоги, темы, стили, меню
Ответить
JDev
Сообщения: 88
Зарегистрирован: 05 авг 2012, 19:42

Change press color in ListView with "layer-list"?

Сообщение JDev » 08 июл 2015, 16:50

Здравствуйте,

подскажите пожалуйста, как мне изменить цвет фона при нажатии на элемент списка? Все не так сложно, но я для дизайна использую.

Код: Выделить всё

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item>
        <shape
            android:shape="rectangle">
            <solid android:color="@color/item_border" />
            <corners android:radius="5dp"/>
        </shape>
    </item>
    <item android:right="1dp" android:left="1dp" android:bottom="2dp" android:id="@+id/item_backgr_shape" >
        <shape
            android:shape="rectangle">
            <solid android:color="@color/item_background"/>
            <corners android:radius="5dp"/>
        </shape>
    </item>
</layer-list>
Нашел как программно менять, но фон тогда изменяется навсегда, а не при клике.

Код: Выделить всё

        LayerDrawable bgDrawable = (LayerDrawable)v.getBackground();
        GradientDrawable shape = (GradientDrawable) bgDrawable.findDrawableByLayerId(R.id.item_backgr_shape);
        shape.setColor(getActivity().getResources().getColor(R.color.list_background));
Спасибо.


JDev
Сообщения: 88
Зарегистрирован: 05 авг 2012, 19:42

Re: Change press color in ListView with "layer-list"?

Сообщение JDev » 09 июл 2015, 10:27

)) Пасиб, розобрался.

Dark67
Сообщения: 72
Зарегистрирован: 23 июл 2012, 23:11

Re: Change press color in ListView with "layer-list"?

Сообщение Dark67 » 09 июл 2015, 10:42

А вот более продвинутый вариант https://developer.android.com/guide/top ... #StateList
так можно менять не только цвет, но и .....

Ответить