|
||
|
![]() |
![]() |
Programación y Desarrollo para Android Subforo exclusivo para temas de programación de software para PDAs y desarrollo de aplicaciones, interfaces, etc bajo Android |
![]() |
|
Herramientas |
#1
|
||||
|
||||
Ayuda con diseño
Hola, no veo la manera o componente de alguna libreria de soporte para poder hacer esto,
Un layout en el top para poner algun edittext, botones etc, y debajo un recyclerview, esto lo hago ok el problema esq quiero que todo sea scrolable, que cuando mueva el recycler se suba tambien el layout de arriba pero no veo la manera, lo unico que se me ocurre es inflando la posicion 1 del recycler con mi layout pero me resulta bastante coñazo porq tengo bastante iteraciones en ese layout, He visto un ejemplo en los tutos de android del android studio pero creo q es para ampliar la status bar. Alguien me ayuda?
__________________
Prueba mis aplicaciones para android:
Signature Maker - Código en GitHub Pain Log - Código en GitHub Square attack |
|
#2
|
||||
|
||||
Yo me enfrenté a un caso parecido hace algún tiempo, y aunque creo que existe una forma directa para poder hacerlo (Play Store por ejemplo lo hace) terminé prográmandolo a mano y el efecto no quedó mal.
En primer lugar, el primer elemento de tu RecyclerView debe ser vacío y tener el mismo Height que tu layout que tienes en el top, después te explicaré por qué. Después tienes que programar el método onScrolled del OnSrollListener del RecyclerView, y hacer que el "dy" sea la cantidad que subes o bajas la posición del layout que está en el top, es decir, si dy se mueve 5 tienes que hacer que la posición actual del layout del top sea la que tiene -5, así hasta un máximo de que su posición bottom sea 0, o que su posición top sea 0 (totalmente oculto o totalmente mostrado). Y por último, el RecyclerView debe ocupar la TOTALIDAD de la Activity, es decir, el layout del Top debe estar situado ENCIMA del RecyclerView en el eje Z, es decir, que sea flotante. Y aquí es donde interviene que el primer elemento del RecyclerView tenga ese mismo tamaño y sea vacío. Para que de el efecto al entrar en la Activity de que está situado debajo del layout del top. Ahora al desplazar el RecyclerView también lo hará el layout, dando el efecto de que forman parte del mismo ScrollView. Lo bueno que tiene este diseño es que el layout del top también se mostrará en cuanto empieces a subir el RecyclerView, lo que algunos llaman regreso rápido. Una vez hecho es bastante más fácil de lo que parece, si tienes dudas coméntalas aquí. Te pondría un código de ejemplo, pero ya no lo tengo, fue un proyecto que ya se cerró hace 1 par de años, y además estaba hecho para ListView, aunque la base es la misma. |
#4
|
||||
|
||||
![]() De todas formas ya he dicho que fue hace 1 par de años, y en esos momentos las librerías Design no existían. |
#5
|
||||
|
||||
Gracias a los dos, con el coordinator era el ejemplo que estaba siguiendo aunque no me aclaraba mucho, ahora que me lo comentais ya lo tengo clarisimo,
Dejo este tuto que he encontrado por si alguien llega hasta aquí: http://www.sgoliver.net/blog/animaci...dinatorlayout Gracias maquinas.
__________________
Prueba mis aplicaciones para android:
Signature Maker - Código en GitHub Pain Log - Código en GitHub Square attack |
Gracias de parte de: | ||
#6
|
||||
|
||||
Muy buenas,
@mystgun01 Me ha funcionado muy bien el coordinator pero quiero ir más allá y la verdad no se si se podría hacer y los ejemplos que encuentro no lo usan como yo. Se trata de tener un texto titulo debajo de la toolbar y al hacer scroll con el coordinator se vaya poco a poco hasta quedarse en la toolbar, como ya te digo ejemplos hay muchos pero mi caso no veo como, ¿porque? por los fragments y el drawer menu. Yo tengo mi actividad principal diseñada con un drawer menu, una toolbar personalizada y un framgment debajo para inflarlo con cada una de las opciones, si quiero hacer esto no puedo tener la toolbar en un layout y el texto titulo en el layout del fragment (no puedo interactuar con ellos) no sé si me explico, y si cojo la toolbar y la añado en el fragment no puedo enlazarla con el drawer menu para la animación. Creo que me decantaré por la opcion de cada fragments su toolbar aunq pierda la animación con el drawer menu
__________________
Prueba mis aplicaciones para android:
Signature Maker - Código en GitHub Pain Log - Código en GitHub Square attack Última edición por Dild0 Día 04/12/15 a las 12:19:46. |
#7
|
||||
|
||||
El CoordinatorLayout no es la panacea, al final habrá animaciones que tendrás que programar a mano. La que quieres hacer realmente no es demasiado compleja.
De todas formas llevo algunos días jugando con el CoordinatorLayout, y he descubierto algunas cosas que no parecen tan evidentes y a lo mejor no estás teniendo en cuenta. 1) El CoordinatorLayout no tiene porque ser el elemento principal, puede ser una parte del Layout que esté dentro de otras Views. 2) El AppBarLayout no tiene porque contener una Toolbar, simplemente tiene que contener los elementos que quieres que se animen, en este caso podría contener únicamente el TextView con el título. Y la Toolbar podría estar fuera del AppBarLayout, incluso fuera del CoordinatorLayout. Espero que te sirva, yo buscaba una animación parecida, pero no igual, a la que quieres tú y la he conseguido haciendo eso, dejando en el CoordinatorLayout lo único que realmente quiero que se anime, y la Toolbar no es una de esas cosas. |
Gracias de parte de: | ||