LinearLayoutManager setReverseLayout () == true aber Items Stack von unten

Das scheint, es wäre eine einfache Lösung, aber es scheint, dass Einstellung

private RecyclerView mRecyclerView; private RecyclerView.Adapter mAdapter; private LinearLayoutManager mLayoutManager; .... // More code mRecyclerView = (RecyclerView) rootView.findViewById(R.id.recycler_view); // Add item decoration mRecyclerView.addItemDecoration(new SpacesItemDecoration(DIVIDER_SPACE)); // use this setting to improve performance if you know that changes // in content do not change the layout size of the RecyclerView mRecyclerView.setHasFixedSize(true); // use a linear layout manager mLayoutManager = new LinearLayoutManager(getActivity()); mLayoutManager.setReverseLayout(true); // THIS ALSO SETS setStackFromBottom to true mRecyclerView.setLayoutManager(mLayoutManager); 

Scheint auch die Elemente von unten zu stapeln

Ich habe versucht, setStackFromBottom auf falsch zu setzen, aber das hat nichts getan, was wäre der beste Weg, um die Artikel umzukehren, aber immer noch von oben zu bevölkern? Soll ich stattdessen eine Custom Comparator-Klasse verwenden? Ich hatte gehofft, dass dies ein einfacher Prozess wäre, als eine andere Klasse zu schaffen.

  • RecyclerAnzeige beim Einfügen
  • Wie kann ich einen Offline-Geocoder für eine einzelne Stadt mit OSM-Daten in Android implementieren?
  • Android Reverse Playback und Frame by Frame
  • 2 Solutions collect form web for “LinearLayoutManager setReverseLayout () == true aber Items Stack von unten”

    Aus den docs für setReverseLayout

    Wird verwendet, um die Traversal- und Layout-Reihenfolge umzukehren. Dies verhält sich ähnlich der Layoutänderung für RTL-Ansichten. Wenn es auf true gesetzt ist, wird das erste Element am Ende der Benutzeroberfläche ausgelegt, das zweite Element ist vor ihm angeordnet. Für horizontale Layouts hängt es von der Layoutrichtung ab. Wenn auf true gesetzt ist, wenn RecyclerView LTR ist, als es Layout von RTL, wenn RecyclerView} RTL ist, wird es Layout von LTR. Wenn du das gleiche Verhalten von setStackFromBottom(boolean) setStackFromEnd(boolean) , benutzt setStackFromEnd(boolean)

    Also, versuchen Sie auch mit setStackFromEnd (boolean) auf Ihrer LinearLayoutManager-Instanz,

     LinearLayoutManager mLayoutManager = new LinearLayoutManager(getActivity()); mLayoutManager.setReverseLayout(true); mLayoutManager.setStackFromEnd(true); 

    Die akzeptierte Antwort funktioniert gut und ich ging durch eine Härte, um es funktionieren, wie ich war, can not resolve method setReverseLayout Fehler.

    Dann nach der Suche nach Lösungen fand ich dort einen dummen Fehler da draußen. Ich habe RecyclerView.LayoutManager anstelle von LinearLayoutManager .

    Also dachte ich, um die Verwirrungen um hier zu entfernen, muss ich es als Antwort geben.

    Verwenden Sie RecyclerView.LayoutManager statt LinerarLayoutManager

     // Declare your RecyclerView and the LinearLayoutManager like this private RecyclerView mRecyclerView; private LinearLayoutManager mLayoutManager; 

     // Now set the properties of the LinearLayoutManager mLayoutManager = new LinearLayoutManager(MainActivity.this); mLayoutManager.setReverseLayout(true); mLayoutManager.setStackFromEnd(true); // And now set it to the RecyclerView mRecyclerView.setLayoutManager(mLayoutManager); mRecyclerView.setAdapter(yourAdapter); 
    Das Android ist ein Google Android Fan-Website, Alles ├╝ber Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.