Pinterest como GridView personalizado
Soy nuevo en android, y estoy buscando una lógica para la vista de cuadrícula como pinterest aplicación (homescreen) que se ha construido para i-phone. Un gran no. De las imágenes vienen del servidor que necesito mostrar en la siguiente forma con efecto de paginación, es decir, cargando imágenes en desplazamiento.
Responda por favor si es posible otra manera alrededor. Estaré muy agradecido.
Si desea realizar la carga de la imagen en el desplazamiento, entonces será similar a la vista de lista. Primero guardar todos los datos de WS URL a continuación, cargar a la demanda Ahora
Comunicador Infinito Adaptador Para Listview, puede integrarlo con GridView también
EndLessAdapter
Otra forma es poner las vistas de la cuadrícula en un ViewFlipper y luego voltear con una animación.
Utilice setInAnimation () y setOutAnimation () para configurar las animaciones y voltear las páginas con showNext () y showPrevious ()
Crear diseño como sigue
<ScrollView...> <LinearLayout.... android:id="@+id/linear1" orientation="horizontal"> <LinearLayout.... android:id="@+id/linear2" android:layout_weight="0.33" orientation="vertical"> <LinearLayout.... android:id="@+id/linear3" android:layout_weight="0.33" orientation="vertical"> <LinearLayout.... android:layout_weight="0.33" orientation="vertical"> </LinearLayout> </ScrollView>
Ahora agregue su ImageView dinámicamente en los diseños
linear1 = (LinearLayout) findViewById(R.id.linear1); linear2 = (LinearLayout) findViewById(R.id.linear2); linear3 = (LinearLayout) findViewById(R.id.linear3); for(int i=0;i<n;i++) { ImageView iv = new ImageView(this); iv.setImageResource(R.id.icon); int j = count % 3; <---- if(j==0) linear1.addView(iv); else if(j==1) linear2.addView(iv); else linear3.addView(iv); }
Comprobar: GridView escalonado
El StaggeredGridView permite al usuario crear un GridView con filas desiguales similares a cómo se ve Pinterest. Incluye OnItemClickListener propio y OnItemLongClickListener, selector y restauración de posición fija.
Esta es una vieja pregunta, pero para aquellos que tienen un problema similar:
La manera más fácil de lograr este estilo de diseño es usar RecyclerView con StaggeredGridLayoutManager, así:
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.my_activity); View recyclerView = findViewById(R.id.recycle_view); assert recyclerView != null; StaggeredGridLayoutManager gaggeredGridLayoutManager = new StaggeredGridLayoutManager(2, 1); recyclerView.setLayoutManager(gaggeredGridLayoutManager); }
Para la otra parte de la pregunta (paginación) es mejor recibir sus imágenes en trozos (por ejemplo, 50 imágenes por solicitud) y cuando el usuario desplaza hacia abajo (llega hasta el final) cargar más.