1

私はこのアプリをiphoneに持っていて、Android用に作りたいです。EditTextでテキストの編集を開始すると、ディスプレイの上部にメッセージ付きのツールチップが表示されます。Androidでも機能させたいのですが、しませんでした。役立つものは何も見つかりません、ここにiphoneprintscreenとのリンクがあります

http://www.codemyworld.com/edi/Android/IMG_0022.PNG

4

4 に答える 4

5

Androidにはホバリングツールチップの概念はありません。次の2つのいずれかを実行できます。

LongClickListenerEditTextユーザーが長押しするとトーストが表示されます。このようなもの:

View view = (View)findViewById(R.id.your_view);
view.setOnLongClickListener(new OnLongClickListener() {
    @Override
    public void onLongClick(View v) {
      Toast toast = Toast.makeText(this, "Show hint here", Toast.LENGTH_SHORT);
    }
});

また

EditTextにヒントを表示して、ユーザーに何を入力する必要があるかを知らせます。

<EditText
    android:hint="Your tip here" />
于 2012-12-11T10:01:26.370 に答える
4
   @Override
    public void onTextChanged(CharSequence cs, int arg1, int arg2, int arg3) {
        //your code here
        //showtooltip();
    }

    @Override
    public void beforeTextChanged(CharSequence arg0, int arg1, int arg2,
            int arg3) {
        // TODO Auto-generated method stub

    }

    @Override
    public void afterTextChanged(Editable arg0) {
        // TODO Auto-generated method stub
    }
});

}

于 2012-12-13T14:38:16.577 に答える
2

これは、EditTextでOnFocusChangeListenerを使用して実行できます

アイデアは、ツールチップのレイアウトを作成し、フォーカスの変更でその可視性を変更することです

フレームレイアウトを使用して通常のレイアウトの上部に配置するか、レイアウトの上部にツールチップレイアウトを追加するだけで、ヒントレイアウトを作成できます。どちらの場合も、可視性は失われます。

次に、OnFocusChangeListenerを使用して、ツールチップを表示または非表示にします

edittxt.setOnFocusChangeListener(new OnFocusChangeListener()
{
    @Override
    public void onFocusChange(View v, boolean hasFocus) 
    {
        if (hasFocus == true)
        {
          // Show tool tip  
        }else{
           // Hide tool tip
        }
    }
});

OnKeyListenerなどのさまざまなリスナーを使用してこれを強化することもできます

私の答えを改善するためだけに

また、AndroidのTextWatcherクラスを使用して、テキストの変更に対応することもできます。

例でのTextWatcherの使用については、以下を参照してください

 TextWatcher textWatcher = new TextWatcher()
 {
    @Override
    public void onTextChanged(CharSequence s , int start,int before,int count){

    }
    @Override
    public void afterTextChanged(Editable s){

    }
    @Override
    public void beforeTextChanged(CharSequence s, int start,int count, int after){

    }

  };

   Then use it as 
   edittext.addTextChangedListener(textWatcher);
于 2012-12-11T10:03:16.250 に答える
0

これを使用できます:TooltipCompat.setTooltipText(editText、editText.getText())

于 2019-02-13T11:36:38.043 に答える