IT story

XML에서 RecyclerView app : layoutManager =“”를 설정하는 방법은 무엇입니까?

hot-time 2020. 6. 22. 07:36
반응형

XML에서 RecyclerView app : layoutManager =“”를 설정하는 방법은 무엇입니까?


XML에서 RecyclerView layoutManager 를 설정하는 방법은 무엇입니까?

    <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">

당신이 그것을 사용하려는 경우 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알아 내기가 쉽지만 버전을 찾아 여기에 왔어요.

LinearLayoutManager :

app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"

예:

<androidx.recyclerview.widget.RecyclerView
    android:id="@+id/recyclerView"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"/>

GridLayoutManager :

app:layoutManager="androidx.recyclerview.widget.GridLayoutManager"

예:

<androidx.recyclerview.widget.RecyclerView
    android:id="@+id/recyclerView"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    app:spanCount="2"
    app:layoutManager="androidx.recyclerview.widget.GridLayoutManager"/>

위의 예에서 볼 수 있듯이 다음을 xml사용하여 방향을 제어 할 수 있습니다

android:orientation="vertical"

android:orientation="horizontal"

그리고 GridLayoutManager 의 열 수를 설정 하여

app:spanCount="2"

내가 사용하는 가장 일반적인 것은 다음과 같습니다.

<androidx.recyclerview.widget.RecyclerView
    app:layoutManager="androidx.recyclerview.widget.GridLayoutManager" 
    tools:listitem="@layout/grid_item"
    android:orientation="vertical" app:spanCount="3"/>

과:

<androidx.recyclerview.widget.RecyclerView
    app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
    tools:listitem="@layout/grid_item"
    android:orientation="vertical"/>

listitem레이아웃 편집기의 미리보기에서 어떻게 보일 수 있도록 을 설정하는 것이 좋습니다 .

순서를 반대로 바꾸려면 코드로 대신해야하고 실제로 무언가를보고 싶다면 XML에서 "tools"를 사용해야한다고 생각합니다 ...

참고 URL : https://stackoverflow.com/questions/35679776/how-to-set-recyclerview-applayoutmanager-from-xml

반응형