Can I set something like "tooltip" for a view in android?

13,786

Solution 1

There's no concept of "hovering" in a touch screen, but you could set a LongClickListener for your View, and have a Toast appear after a long press. Something like this:

Toast viewToast = Toast.makeText(this, "My View Tooltip", Toast.LENGTH_SHORT);

View myView = (View)findViewById(R.id.my_view);

myView.setOnLongClickListener(new OnLongClickListener() {
    @Override
    public void onLongClick(View v) {
        viewToast.show();
    }
});

EDIT: After reading your comment, you should just use the hint attribute in your EditText XML layout:

<EditText
    android:hint="My tip here" />

Solution 2

-First set a textview with your hint and set it to invisible.

-Create an animation xml with alpha animation,specify how long you would like to display(at the end set the animation to zero alpha so that it remains invisible) and put it in res->anim folder

-Inside your onCreate and onClick methods of view that need tooltip

  1. set the text view to visible
  2. Hook the animation(like R.anim.tooltip) to this text view

-Use boolean flags and allow the user to switch off the tool tips in menu.

I'll leave the code specifics to you. You find them easily in stackoverflow.

Share:
13,786
Adham
Author by

Adham

Mobile Engineer

Updated on June 18, 2022

Comments

  • Adham
    Adham about 2 years

    Can I set some message to appear like a "tooltip" for a TextView or Button?

  • numan salati
    numan salati about 11 years
    "hovering in touch screen" is now possible in 2013 :)