Как установить RecyclerView layoutManager из XML?
<android.support.v7.widget.RecyclerView
app:layoutManager="???"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
Как вы можете проверить в документе:
Имя класса диспетчера макетов, который будет использоваться.
Класс должен расширять android.support.v7.widget.RecyclerView $ LayoutManager и иметь конструктор или конструктор по умолчанию с подписью (android.content.Context, android.util.AttributeSet, int, int).
Если имя начинается с ".", Пакет приложения имеет префикс. Иначе, если имя содержит ".", Предполагается, что имя класса является полным именем класса. Иначе, имя пакета представления перезапуска (android.support.v7.widget) имеет префикс.
<android.support.v7.widget.RecyclerView
xmlns:app="http://schemas.android.com/apk/res-auto"
app:layoutManager="android.support.v7.widget.GridLayoutManager" >
С androidx вы можете использовать:
<androidx.recyclerview.widget.RecyclerView
xmlns:app="http://schemas.android.com/apk/res-auto"
app:layoutManager="androidx.recyclerview.widget.GridLayoutManager">
android:orientation
на элемент RecyclerView для управления ориентацией, например, LinearLayoutManager
если вы хотите использовать его с LinearLayoutManager
<android.support.v7.widget.RecyclerView
xmlns:app="http://schemas.android.com/apk/res-auto"
app:layoutManager="android.support.v7.widget.LinearLayoutManager" >
что эквивалентно
LinearLayoutManager mLayoutManager = new LinearLayoutManager(getApplicationContext());
mRecyclerView.setLayoutManager(mLayoutManager);
И я пришел сюда в поисках версии для androidx
хотя это было довольно легко выяснить, вот она
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
для GridLayoutManager
app:layoutManager="androidx.recyclerview.widget.GridLayoutManager"
и для горизонтального RecyclerView
android:orientation="horizontal"
GridLayoutManager
путем добавления app:spanCount="2"
пожалуйста, посетите:
Для этого не рекомендуется использовать xml.