Использовать файл селектора, чтобы избавиться от оранжевой кнопки hilite?

1

Я взял файл btn_default.xml из файла android sdk под платформами /android -7/data/res/drawable-mdpi и застрял в каталоге, пригодном для приложения.

Затем я взял все изображения с 9 патчами, упомянутые в файле XML, и скопировал их в мой каталог.

Затем я изменил каждое изображение с 9 патчами, имеющее оранжевый цвет, поэтому он был красным (для тестирования) и сохранил его.

Когда я запускаю свое приложение и фокусирую кнопку с помощью клавиатуры или просто касаюсь одной, я все равно получаю оранжевый цвет hilite вокруг кнопки. Где этот оранжевый халит, исходящий от???

Это мой файл-селектор:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
     <item 
        android:state_window_focused="false" 
        android:state_enabled="true"
        android:drawable="@drawable/btn_default_normal" />

    <item 
        android:state_window_focused="false" 
        android:state_enabled="false"
        android:drawable="@drawable/btn_default_normal_disable" />

    <item 
        android:state_pressed="true" 
        android:drawable="@drawable/btn_default_pressed" />

    <item 
        android:state_focused="true" 
        android:state_enabled="true"
        android:drawable="@drawable/btn_default_selected" />

    <item 
        android:state_enabled="true"
        android:drawable="@drawable/btn_default_normal" />

    <item 
        android:state_focused="true"
        android:drawable="@drawable/btn_default_normal_disable_focused" />

    <item
         android:drawable="@drawable/btn_default_normal_disable" />

</selector>
  • 0
    Можете ли вы попробовать переименовать файлы изображений? Возможно, он все еще ищет версии sdk (оранжевые), а не ваши локальные (красные) копии.
  • 0
    Хм, кажется, не имеет значения. Пробовал чистить проект тоже. Я думаю, что изображения преступников находятся в этом файле. /android-7/data/res/drawable/btn_square_overlay.xml. Я не думаю, что они могут быть просто добавлены в файл селектора, который будет перезаписан, поля соответствуют существующим.
Теги:
button

1 ответ

0
Лучший ответ

Хорошо, после многократного поиска я нашел ответ ниже. Невозможно установить цвет селектора (btn_square_overlay_pressed.png) из файла селектора. Мне пришлось установитьSelector() на мой объект gridview, который заполнял его содержимое из ImageAdapter, который получал его изображения из файла селектора xml.

Как изменить оранжевый цвет затухания В ExpandableListView?

Ещё вопросы

Сообщество Overcoder
Наверх
Меню