5

以下のように、Edittext 内にテキストビューを挿入しようとしています。

ここに画像の説明を入力

誰でも、それを実装する方法などについてアイデアを教えてもらえますか。

ありがとう :)

更新: edittext のテキストビューは動的に変化します。

4

4 に答える 4

3

このサンプルコードを試してください。それはあなたの要件に適合します。

PopupWindow pw = new PopupWindow(
                                 this.getViewInflate().inflate(R.layout.pw_layout, 
                                                               null, true, null), 
                                100,100,true);
// display the popup in the center
pw.showAtLocation(layout, Gravity.CENTER, 0, 0);
pw.update(20,20,100,100);

パーツ内のビューについては、EditTextを拡張する必要がありEditTextます。外観の概要は次のとおりです。

class emailEditText extends EditText {

List<NamePhotoView> ViewlistOfSelectedContacts; // create new

    void addContact(String name, Bitmap photo) {
       // create a new 'NamePhotoView' and add to the ViewlistOfSelectedContacts
    }

    @Override
    void onDraw(Canvas canvas) {
        for (....) {
            // draw all views from the list. left to right.
        }
    // you have to some how offset the text start coordinate. then call super
    super.onDraw(canvas);
    }
}
于 2012-05-19T10:55:31.477 に答える
2

TextView中には入れられないと思いますEditText。しかし、代わりに、そのように見せることもできます。手順は次のとおりです

  1. textviewをに変換するBitmapDrawable
  2. SpanableStringビットマップドローアブルを(ImageSpan)に変換します
  3. 次に、これをあなたに返すように設定SpannableStringしますEditText

私は最近この種のUIを完成させ、ブログでEditTextのようなGoSmsPro/Evernoteの作成について説明しました。

于 2012-05-20T07:59:22.683 に答える
2

Android がそれを実装する方法、いわゆるChips UIは、ここで見つけることができます。基本的に、テキストの上にコンポーネント (画像、テキストなど) を描画
するカスタムと、ポップアップを表示するためのロジックです。span

于 2013-03-14T10:45:41.823 に答える
1

上記のフレームレイアウトのように、必要なものに基づいてコンポーネントを作成できます。テキスト ビューが EditText の上にあるときに、EditText と TextView などの 2 つのビューを持つ FrameLayout または RelativeLayout を使用することができます。また、写真のように右に表示したい場合は、画像ビューを配置することもできます。

コンポーネントを作成する必要はなく、XML レイアウトで簡単に作成できますが、アプリケーションで定期的に使用する予定がある場合は、それらのビューをコンポーネントとして作成することをお勧めします。

于 2012-05-19T10:56:53.040 に答える