テキストの長さに応じて異なる列番号を持つミディアムアプリのようなグリッドビューを作成したいとします。異なる列番号を持つグリッドビューを作成する
標準GridLayoutManager
をRecyclerView
と組み合わせて使用することは、あまり効果的ではないようです。
同じ効果を得るためのよりよい方法がありますか。できるだけRecyclerView
を使用してください。
テキストの長さに応じて異なる列番号を持つミディアムアプリのようなグリッドビューを作成したいとします。異なる列番号を持つグリッドビューを作成する
標準GridLayoutManager
をRecyclerView
と組み合わせて使用することは、あまり効果的ではないようです。
同じ効果を得るためのよりよい方法がありますか。できるだけRecyclerView
を使用してください。
それは実際に可能です。ここでは、RecyclerView
の行が水平に中央に配置され、ボタンが動的に追加されるというトリックがあります。各ボタンの位置は気にしないでください。幅はwrap_content
に設定されていて、行は中央に配置されているので、自動的にこの結果がレンダリングされます。あなた次第ですが、2,3または4のアイテムを並べて配置するかどうかを決めなければなりません。文字の制限を定義できます。ボタンのパディングを考慮して、RecyclerView
に送信するデータソースを作成することができます。これは私がコードを見ることなくあなたに与えることができる一般的な概念です。
これらのURLを試してください。これは私のプロジェクトで私のために働いたと私はそれは同様にあなたのために働くだろうと思いソリューションであるあなた
GridView with last item centered
https://github.com/thetonrifles/android-recycler-grid/tree/onlygrid
に役立つことがあります。
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:ads="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:id="@+id/row1"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.v7.widget.RecyclerView
android:id="@+id/articles"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:scrollbars="horizontal"
android:scrollbarStyle="outsideInset"
android:layout_weight="1"
android:layout_gravity="center"/>
<android.support.v7.widget.RecyclerView
android:id="@+id/articles2"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:scrollbars="horizontal"
android:scrollbarStyle="outsideInset"
android:layout_weight="1"
android:layout_gravity="center"/>
<android.support.v7.widget.RecyclerView
android:id="@+id/articles3"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:scrollbars="horizontal"
android:scrollbarStyle="outsideInset"
android:layout_weight="1"/>
</LinearLayout>
</RelativeLayout>
:それは
レイアウトXMLコードを助けている場合、私に教えてください