web-dev-qa-db-ja.com

Androidマテリアルチップ

アプリケーションにチップを使用してオートコンプリート編集テキストを実装したいのですが、ここで行う方法で実装したいと思います: マテリアルデザインチップ 。最初に、ある種のウィジェット(多分、新しいサポートライブラリの一部として)か、簡単に実装できるソリューションがあるかどうかを尋ねます。 (私はこの質問が以前に尋ねられたことを知っていますが、その間に何かが変更されたかどうかを知りたいだけです)。また、私はこれ library を見つけましたが、データセットのオートコンプリートにどのように使用できるか(そして使用できるか)がわかりません。 ..誰かがこのライブラリを以前に使用していて、その経験を共有できますか?

何か助けていただければ幸いです!

19
Sandra

新しい Androidのマテリアルコンポーネント には、コンポーネント Chip が含まれています。

以下を使用して、チップをレイアウトファイルに追加できます。

<com.google.Android.material.chip.Chip
    Android:id="@+id/some_chip"
    Android:layout_width="wrap_content"
    Android:layout_height="wrap_content"
    Android:text="This is a chip" />

enter image description here

従来の Design Support Library 28.0. を使用すると、パッケージを使用できます。

<Android.support.design.chip.Chip
../>

次の属性を使用してコンポーネントをカスタマイズできます。

  • Android:checkabletrueの場合、チップを切り替えることができます。 falseの場合、チップはボタンのように機能します
  • app:chipIcon:チップ内にアイコンを表示するために使用されます
  • app:closeIcon:チップ内に閉じるアイコンを表示するために使用されます

公式の ドキュメントはこちら です。

9

私は実際にこれを使ってしまいました library 。このライブラリが提供するオートコンプリートビューとチップは、「実質的に」スタイル設定されていませんが、大きな労力なしで自分で行うことができます。すばらしい調査の結果、このライブラリーを使用すると、独自のデータセットをロジックに実装する最も簡単な方法が得られることがわかりました。他のすべてのライブラリはAndroid連絡先または電子メールを使用するようにカスタマイズされており、コードを変更して独自のデータセットをクエリすることはそれほど簡単ではありませんでした。カスタムデータクエリこれは正しい方法だと思います。

6
Sandra

チェックアウト this ライブラリ!あなたのニーズに合うと思います。

2
xip

材料チップ用の新しい library もあります!

1
Alex

これまでのところ最新です このライブラリ はとても簡単に見えます。あなたは必要です

implementation "com.hootsuite.Android:nachos:1.1.1"

そして

<com.hootsuite.nachos.NachoTextView
    Android:id="@+id/nacho_text_view"
    Android:layout_width="match_parent"
    Android:layout_height="wrap_content"
    app:chipHorizontalSpacing="2dp"
    app:chipBackground="@color/chip_background"
    app:chipTextColor="@color/cheddar"
    app:chipTextSize="16dp"
    app:chipHeight="30dp"
    app:chipVerticalSpacing="3dp"/>

そして

val suggestions = arrayOf("Tortilla Chips", "Melted Cheese", "Salsa", "Guacamole", "Mexico", "Jalapeno")
val adapter = ArrayAdapter(context, Android.R.layout.simple_dropdown_item_1line, suggestions)
nachoTextView.setAdapter(adapter)

カスタマイズで遊んでください!

0
M. Usman Khan