Изменение цвета рисования в Android xml на выделенном / сфокусированном - PullRequest
0 голосов
/ 25 августа 2018

Я создаю нарисованный XML-файл, чтобы нарисовать линию, используя следующий код.

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item>
        <shape android:shape="line">
            <solid android:color="@color/colorPrimary" />
            <size android:width="100dp" android:height="50dp" />
            <stroke android:width="5dp" android:color="@color/colorPrimary" />
        </shape>
    </item>

</selector>

Изображение результата: enter image description here

Я хочу изменить этоцвет изображения, когда он выделен или сфокусирован.Как я могу достичь этого?Любое руководство будет оценено.Thankyou

Ответы [ 2 ]

0 голосов
/ 25 августа 2018

Вы можете добавить несколько <item> s в <selector> и указать состояния в качестве атрибутов в теге <item>.

Вот синтаксис

<item
    android: state_pressed = ["true" | "false"]
    android: state_focused = ["true" | "false"]
    android: state_hovered = ["true" | "false"]
    android: state_selected = ["true" | "false"]
    android: state_checkable = ["true" | "false"]
    android: state_checked = ["true" | "false"]
    android: state_enabled = ["true" | "false"]
    android: state_activated = ["true" | "false"]
    android: state_window_focused = ["true" | "false"]/>
0 голосов
/ 25 августа 2018

Попробуйте это:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_selected="true">
        <shape android:shape="line" >
            <solid android:color="@color/newcolor" />
            <size android:width="100dp" android:height="50dp" />
            <stroke android:width="5dp" android:color="@color/colorPrimary" />
        </shape>
    </item>
    <item android:state_focused="true">
        <shape android:shape="line" >
            <solid android:color="@color/newcolor" />
            <size android:width="100dp" android:height="50dp" />
            <stroke android:width="5dp" android:color="@color/colorPrimary" />
        </shape>
    </item>
    <item>
        <shape android:shape="line">
            <solid android:color="@color/colorPrimary" />
            <size android:width="100dp" android:height="50dp" />
            <stroke android:width="5dp" android:color="@color/colorPrimary" />
        </shape>
    </item>

</selector>
...