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
name__バージョンを探すのは簡単ですが、ここにあります。
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
name__内から方向を制御できます。
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で「ツール」を使用する必要があります。