Lollipop RippleDrawable против Селектор для предварительного Lollipop

? Neoh @ | Original: StackOverFlow
---

У меня есть кнопки с различными draw9patch png в качестве фона. В настоящее время кнопки находятся под контролем selector, который выглядит примерно так :

<selector xmlns:android="http://schemas.android.com/apk/res/android">
  <item android:drawable="@drawable/pressed" android:state_pressed="true"/>
  <item android:drawable="@drawable/disabled" android:state_enabled="false"/>
  <item android:drawable="@drawable/focused" android:state_focused="true"/>
  <item android:drawable="@drawable/default"/>
</selector>

Для Android Lollipop они имеютRippleDrawable для сенсорного эффекта, который идет что-то вроде этого:

<ripple xmlns:android="http://schemas.android.com/apk/res/android" android:color="?android:colorControlHighlight">
    <item>
    ...
    </item>
</ripple>

Что касается нового эффекта сенсорный волновой :

1 : Могу ли я установить draw9patch в качестве фона для RippleDrawable ?

2 : Как мне разместить две вышеупомянутые различные XML, я хочу следовать дизайн материал? У меня есть раскошелиться на новую папку / макета XML длянового " ​​____" ?

---

Top 5 ответ

1alanv @

1 ) Да . Смотрите документацию для RippleDrawable для более подробной информации о том, как слои накладываются, но в основном вы хотите:

RippleDrawable

Или также обрабатывать отключенного состояния в чистом виде, вы можете :

<?xml version="1.0" encoding="utf-8"?>
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
    android:color="?android:attr/colorControlHighlight">
    <item android:drawable="@drawable/yourninepatch" />
</ripple>

2 ) Да, вы должны разместить волновой XML в растяжимой -V21 .