0

У меня есть несколько маленьких значков сплошного цвета (и форма для фотошопа) на панели действий, которые должны иметь другой цвет при нажатии.Изменение цвета сплошного цветного значка при нажатии

Вместо того чтобы сделать state_selected как другой значок (сделанный в фотошопе другого цвета), могу ли я просто заполнить тот же чертеж другим цветом, указав в XML? Требует ли это, чтобы я каким-то образом определял состав, который можно вычеркнуть (битмап + цвет)? Спасибо

ответ

0

Если вы работаете в API 21 (Android 5.0), попробуйте использовать атрибуты android:tint и android:tintMode в формате XML. Ваш android:tint должен указывать список состояния, определенного в XML, который в вашем случае должно быть что-то вроде:

<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
<item android:state_pressed="true" android:color="@color/desired_tint" /> 
<item android:state_pressed="false" android:color="@color/transparent" /> 
</selector> 

Для более старых устройств, единственное, что приходит на ум это получение вашей вытяжке во время выполнения и вызова

drawable.setColorFilter(getResources().getColor(R.color.desired_tint), PorterDuff.Mode.SRC_IN) 

до тех пор, пока нажимается вид. Это, вероятно, не самая лучшая идея.

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

  • Нет связанных вопросов^_^