Can I set something like “tooltip” for a view in a

2019-06-17 07:04发布

问题:

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

回答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" />


回答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.