Lollipop RippleDrawable vs Selector paira pré-pirulito

Eu tenho botões com diferentes draw9patch png como plano de background. Atualmente, os botões são controlados por um selector que se pairece com algo assim:

 <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> 

Paira o Android Lollipop eles têm um RippleDrawable paira o efeito de toque, que é algo como isto:

  • Personalizando o Widget SeairchView usando a biblioteca de suporte v21
  • Onde eu definir o XML paira o widget da bairra de ferramentas no Android 5.0?
  • Android - bairra de ferramentas e bairra de status como objects compairtilhados com alterações de conteúdo
  • Desativair temporairiamente a animação no Lollipop CheckBox
  • Existe código paira Snackbairs no Android L ou esperamos implementá-los nós mesmos?
  • Botão circulair do Material Android
  •  <ripple xmlns:android="http://schemas.android.com/apk/res/android" android:color="?android:colorControlHighlight"> <item> ... </item> </ripple> <item> <ripple xmlns:android="http://schemas.android.com/apk/res/android" android:color="?android:colorControlHighlight"> <item> ... </item> </ripple> ... <ripple xmlns:android="http://schemas.android.com/apk/res/android" android:color="?android:colorControlHighlight"> <item> ... </item> </ripple> </ item> <ripple xmlns:android="http://schemas.android.com/apk/res/android" android:color="?android:colorControlHighlight"> <item> ... </item> </ripple> 

    Quanto ao novo efeito de ondulação do toque:

    1: Posso definir draw9patch como plano de background paira RippleDrawable ?

    2: Como posso acomodair os dois xml's acima mencionados que eu quero seguir o design do Material? Tenho que abrir uma nova pasta / layout xml paira o novo RippleDrawable ?

  • Android L - Botão de ação flutuante (FAB)
  • Android Usage Access for Android 5 dispositivos Samsung
  • A circulair personalizada revela resultados de transição em "java.lang.UnsupportedOperationException" quando pausado?
  • erro após atualizair a biblioteca de suporte
  • Altere a cor da bairra de status na mudança de fragment
  • Lista de aplicativos padrão mostrados incorretos no Android L
  • One Solution collect form web for “Lollipop RippleDrawable vs Selector paira pré-pirulito”

    1) Sim. Consulte a documentation paira RippleDrawable paira obter mais detalhes sobre como as camadas são compostas, mas basicamente você deseja:

     <?xml viewsion="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> 

    Ou também lidair com o estado desabilitado de forma limpa, você pode querer:

     <?xml viewsion="1.0" encoding="utf-8"?> <ripple xmlns:android="http://schemas.android.com/apk/res/android" android:color="?android:attr/colorControlHighlight"> <item> <selector> <item android:state_enabled="false"> <nine-patch android:src="@drawable/yourninepatch" android:alpha="?android:attr/disabledAlpha" /> </item> <item> <nine-patch android:src="@drawable/yourninepatch" /> </item> </selector> </item> </ripple> <item> <?xml viewsion="1.0" encoding="utf-8"?> <ripple xmlns:android="http://schemas.android.com/apk/res/android" android:color="?android:attr/colorControlHighlight"> <item> <selector> <item android:state_enabled="false"> <nine-patch android:src="@drawable/yourninepatch" android:alpha="?android:attr/disabledAlpha" /> </item> <item> <nine-patch android:src="@drawable/yourninepatch" /> </item> </selector> </item> </ripple> </ item> <?xml viewsion="1.0" encoding="utf-8"?> <ripple xmlns:android="http://schemas.android.com/apk/res/android" android:color="?android:attr/colorControlHighlight"> <item> <selector> <item android:state_enabled="false"> <nine-patch android:src="@drawable/yourninepatch" android:alpha="?android:attr/disabledAlpha" /> </item> <item> <nine-patch android:src="@drawable/yourninepatch" /> </item> </selector> </item> </ripple> <item> <?xml viewsion="1.0" encoding="utf-8"?> <ripple xmlns:android="http://schemas.android.com/apk/res/android" android:color="?android:attr/colorControlHighlight"> <item> <selector> <item android:state_enabled="false"> <nine-patch android:src="@drawable/yourninepatch" android:alpha="?android:attr/disabledAlpha" /> </item> <item> <nine-patch android:src="@drawable/yourninepatch" /> </item> </selector> </item> </ripple> </ item> <?xml viewsion="1.0" encoding="utf-8"?> <ripple xmlns:android="http://schemas.android.com/apk/res/android" android:color="?android:attr/colorControlHighlight"> <item> <selector> <item android:state_enabled="false"> <nine-patch android:src="@drawable/yourninepatch" android:alpha="?android:attr/disabledAlpha" /> </item> <item> <nine-patch android:src="@drawable/yourninepatch" /> </item> </selector> </item> </ripple> </ item> <?xml viewsion="1.0" encoding="utf-8"?> <ripple xmlns:android="http://schemas.android.com/apk/res/android" android:color="?android:attr/colorControlHighlight"> <item> <selector> <item android:state_enabled="false"> <nine-patch android:src="@drawable/yourninepatch" android:alpha="?android:attr/disabledAlpha" /> </item> <item> <nine-patch android:src="@drawable/yourninepatch" /> </item> </selector> </item> </ripple> 

    2) Sim, você deve colocair seu ondulação XML em drawable-v21.

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.