1. ホーム
  2. android

[解決済み] [Solved] RecyclerView app:layoutManager=""をXMLから設定する方法は?

2022-04-15 18:55:46

質問

を設定する方法 RecyclerView layoutManagerをXMLから作成しますか?

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

解決方法は?

ドキュメントで確認できます。

<ブロッククオート

のクラス名 Layout Manager を使用します。

を拡張する必要があります。 androidx.recyclerview.widget.RecyclerViewView$LayoutManager というシグネチャを持つコンストラクタか、デフォルトのコンストラクタを持ちます。 (android.content.Context, android.util.AttributeSet, int, int)

で始まる場合、その名前は '.' アプリケーションパッケージが先頭に付きます。そうでない場合、名前に '.' の場合、クラス名は完全なクラス名であるとみなされます。そうでない場合は、リサイクラビューパッケージ ( androidx.appcompat.widget ) の前に

アンドロイドX を使用することができます。

<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" : LayoutManager の向きを制御するために使用します(例. 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 名前空間(すなわち tools:orientationtools:layoutManager のように、IDE プレビューにのみ影響を与え、コード内でそれらの値を設定し続けることができます。