Estoy tratando de agregar una animación ondulada al hacer clic en el botón. Me gustó a continuación, pero requiere minSdKVersion a 21.
ripple.xml
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
android:color="?android:colorControlHighlight">
<item>
<shape android:shape="rectangle">
<solid android:color="?android:colorAccent" />
</shape>
</item>
</ripple>
Botón
<com.devspark.robototextview.widget.RobotoButton
android:id="@+id/loginButton"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/ripple"
android:text="@string/login_button" />
Quiero que sea compatible con versiones anteriores de la biblioteca de diseño.
¿Cómo se puede hacer esto?
android
material-design
N Sharma
fuente
fuente
?attr:
lugar de?android:attr
referencias, la cual, suponiendo que la use, le da compatibilidad con la API 7. Ver: developer.android.com/tools/support-library/features. html # v7Anteriormente voté para cerrar esta pregunta como fuera de tema, pero en realidad cambié de opinión ya que este es un efecto visual bastante agradable que, desafortunadamente, aún no forma parte de la biblioteca de soporte. Lo más probable es que aparezca en futuras actualizaciones, pero no hay un calendario anunciado.
Afortunadamente, hay algunas implementaciones personalizadas disponibles:
incluidos los conjuntos de widgets temáticos de Materlial compatibles con versiones anteriores de Android:
para que pueda probar uno de estos o google para otros "widgets materiales" o algo así ...
fuente
Hice una clase simple que hace botones ondulados, nunca la necesité al final, así que no es la mejor, pero aquí está:
EDITAR
Como muchas personas buscan algo como esto, hice una clase que puede hacer que otras vistas tengan el efecto dominó:
fuente
addRippleToView
para agregar el efecto de onda. Más bien haga que cada vista en laRecyclerView
aRippleViewCreator
A veces tienes un fondo personalizado, en esos casos, una mejor solución es usar
android:foreground="?selectableItemBackground"
fuente
Es muy simple ;-)
Primero debe crear dos archivos dibujables, uno para la versión antigua de la API y otro para la versión más reciente, ¡por supuesto! si crea el archivo dibujable para la versión más reciente de api, android studio le sugiere que cree uno antiguo automáticamente. y finalmente establezca este dibujable en su vista de fondo.
Muestra dibujable para la nueva versión de la API (res / drawable-v21 / ripple.xml):
Muestra dibujable para la versión anterior de la API (res / drawable / ripple.xml)
Para obtener más información sobre Ripple Drawable, solo visite: https://developer.android.com/reference/android/graphics/drawable/RippleDrawable.html
fuente
a veces se puede usar esta línea en cualquier diseño o componente.
Como.
fuente