Подтвердить что ты не робот

Сделать Recycler View show rows from bottom

Я видел где-то способ заставить RecyclerView показывать ViewHolders снизу вверх. Теперь я не могу найти его нигде (через полчаса, пройдя через RecyclerView, RecyclerAdapter, LayoutManager...).

4b9b3361

Ответ 1

Это LinearLayoutManager.setStackFromEnd(true), который вы ищете?

Edit

Выключает LinearLayoutManager.setReverseLayout(true) делает трюк. В любом случае, читатель может попробовать попробовать каждый из методов и комбинацию обоих, чтобы получить необходимый эффект.

Ответ 2

Если вы используете LinearLayoutManager, создайте третий параметр (reverseLayout) false

LinearLayoutManager linearLayoutManager =
            new LinearLayoutManager(getActivity(), LinearLayoutManager.VERTICAL, false);

Ответ 3

Вы можете достичь этой задачи, добавив две строки в код xml.

app:stackFromEnd="true"
app:reverseLayout="true"

Это будет работать как все чат-приложения.

Ответ 4

Вот решение в Котлине

val llm = LinearLayoutManager(this)
llm.stackFromEnd = true     // items gravity sticks to bottom
llm.reverseLayout = false   // item list sorting (new messages start from the bottom)

rv_chat_history.layoutManager = llm

Или, если вам нравится метод применения:

recycler.apply { 
    layoutManager = LinearLayoutManager(this).apply { 
        stackFromEnd = true
        reverseLayout = true
    }
}

Ответ 5

Решение по вашему запросу:


LinearLayoutManager layoutManager=
                new LinearLayoutManager(getApplicationContext(),LinearLayoutManager.VERTICAL,true);
                layoutManager.setStackFromEnd(true);
        recyclerView.setLayoutManager(layoutManager); 

В приведенном выше коде recyclerView является идентификатором RecyclerView, а layoutManager является объектом LinearLayoutManager.