web-dev-qa-db-ja.com

RelativeLayoutまたはLinearLayoutの代わりにCardViewを使用する理由

アイテムのリストを表示するためのRecyclerViewがあります。これはAndroidカードビューを表示するためにAndroidによって提供されるCardViewクラスです。RelativeLayoutを使用してその背景を白に設定すると、同じように動作します。また、 CardViewの場合は、とにかく、基本的にカード内のすべてのビューを含むchildlayoutをそれに追加する必要があります。そのため、CardView(実際にはビューの階層を増やす)を使用するメリットがあるかどうかを知りたかったのです。通常のレイアウトを直接。

26
sanjeev

レイアウトを超えるカードには、次のようないくつかの利点があります。

  • 丸みを帯びたコーナー、標高など-カードを使用するだけで「箱から出して」視覚的に改善
  • さまざまな長さのコンテンツをサポートしています。実際にはレイアウトもサポートしますが、リスト/グリッドビューのコンテキストでは、それらは同じサイズであることを意味しますが、カードは長さが異なる場合があります(たとえば、コメントや説明を表示する場合)
  • コレクションを表示するときに同様のレイアウトにする必要があるレイアウト(リスト/グリッドアイテム)とは異なり、同じ階層レベルのカードは異なるタイプのコンテンツ/ビューを持つことができます。

これらおよびその他の機能はすべて、カードの 設計ガイドライン にあります。

要するに:

  • カードは、内容(説明やコメント付きの写真など)または多数の補足アクションに応じて長さ/高さが異なる可能性があるアイテムのコレクションを表示する場合に使用します。
  • アイテムの単純なコレクションを表示したい場合は、相対/線形レイアウトを使用します。アイテムのすべて/ほとんどが同じレイアウトで、テキスト(アイコン、アクションなど)の量が制限されています(最大1、2行)。すべてのアイテムで同じ要素
19
stan0

CardViewは、GoogleによるRecyclerViewのスタイル設定方法です。常にRelativeLayoutまたはその他の任意のメソッドを使用できます。

Googleの設計ガイドラインによると、CardViewの定義は

カードは、さまざまな要素で構成されるコンテンツを表示する便利な手段です。また、さまざまな長さのキャプションが付いた写真など、サイズやサポートされるアクションが異なる要素を紹介するのにも適しています。

CardViewを使用すると、アプリ全体でデフォルトのGoogleのルックアンドフィールを取得できます。必要に応じてcardviewをカスタマイズできます。そのため、CardView内に子レイアウトを配置する必要があります。プラスマテリアルデザインは、高度、色、アニメーションがすべてです。 CardViewは、これらすべてを比較的簡単な方法で実行できます。

CardViewで Googleのデザインガイドラインを確認していただければ幸いです。

3
capt.swag