programing

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

sourcejob 2023. 9. 1. 20:50
반응형

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

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

    <android.support.v7.widget.RecyclerView
        app:layoutManager="???"
        android:layout_width="match_parent"
        android:layout_height="match_parent"/>

문서에서 확인할 수 있는 것처럼:

사용할 의 클래스 이름입니다.

클래스가 확장되어야 합니다.androidx.recyclerview.widget.RecyclerViewView$LayoutManager그리고 서명이 있는 기본 생성자 또는 생성자가 있습니다.(android.content.Context, android.util.AttributeSet, int, int)

이름이 다음으로 시작하는 경우'.'응용 프로그램 패키지가 접두사로 지정됩니다.또는 이름에 다음이 포함된 경우'.'클래스 이름은 전체 클래스 이름으로 가정됩니다.그렇지 않으면 재활용품 뷰 패키지(androidx.appcompat.widget)가 접두사로 붙습니다.

Androidx에서는 다음을 사용할 수 있습니다.

<androidx.recyclerview.widget.RecyclerView
     xmlns:app="http://schemas.android.com/apk/res-auto"
     app:layoutManager="androidx.recyclerview.widget.GridLayoutManager">

지원 라이브러리를 사용하면 다음을 사용할 수 있습니다.

<android.support.v7.widget.RecyclerView
    xmlns:app="http://schemas.android.com/apk/res-auto"
    app:layoutManager="android.support.v7.widget.GridLayoutManager" >

또한 다음 특성을 추가할 수 있습니다.

  • android:orientation ="horizontal|vertical"레이아웃 관리자의 방향을 제어합니다(예:LinearLayoutManager)
  • app:spanCount열 수를 설정합니다.GridLayoutManager

예:

<androidx.recyclerview.widget.RecyclerView
    app:layoutManager="androidx.recyclerview.widget.GridLayoutManager"
    app:spanCount="2"
    ...>

또는:

<androidx.recyclerview.widget.RecyclerView
    app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
    android:orientation="vertical"
    ...>

네임스페이스를 사용하여 추가할 수도 있습니다(예:tools:orientation그리고.tools:layoutManager그러면 IDE 미리 보기에만 영향을 미치므로 코드에서 해당 값을 계속 설정할 수 있습니다.

함께 사용하고 싶은 경우에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"

예:

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

그리드 레이아웃 관리자:

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의 "도구"를 사용해야 한다고 생각합니다.

이것은 나에게 효과가 있었습니다 - 그냥 추가하세요.app:layoutManager="LinearLayoutManager"그리고 당신은 가도 좋습니다.

    <android.support.v7.widget.RecyclerView
        android:id="@+id/recordItemList"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical"
        android:clipToPadding="false"
        android:scrollbars="none"
        app:layoutManager="LinearLayoutManager"
        app:stackFromEnd="true"
        app:reverseLayout="true"/>

이와 같이 재활용품 뷰의 레이아웃 관리자를 설정할 수 있으며,app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"

implementation 'com.android.support:recyclerview-v7:28.0.0'
<android.support.v7.widget.RecyclerView
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"

    tools:layoutManager="android.support.v7.widget.LinearLayoutManager"
    />

layoutManager는 다음과 같습니다.android.support.v7.widget.LinearLayoutManager,android.support.v7.widget.GridLayoutManager

[여기서 더 읽기]

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

반응형