あのツールチップな長押しからの Toast を「CheatSheet」で

MaterialDesign な ActionBar に実装されているメニューアイコンを長押ししたら表示される 吹き出しチックな Toast.

これ.

20151104-081900

例えば, レイアウトがこんな感じであるとして,

...
<TextView
    android:id="@+id/text"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:longClickable="true"
    android:text="Hello World!"
    android:contentDescription="コンニチハ セカイ!!"
    />
...
<android.support.design.widget.FloatingActionButton
    android:id="@+id/fab"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="bottom|end"
    android:layout_margin="@dimen/fab_margin"
    android:src="@android:drawable/ic_dialog_email"/>
...

リスナーと表示するテキストは以下のようにシンプルにセットするのみ.

...
TextView text = (TextView)findViewById(R.id.text);
FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);

CheatSheet.setup(text);
CheatSheet.setup(fab, "メールボタンを長押ししました!!");
...

それぞれ長押しで表示.

20151104-083151

20151104-083107

これ.

Android helper class for showing cheat sheets (tooltips) for icon-only UI elements on long-press. This is already default platform behavior for icon-only action bar items and tabs. This class provides this behavior for any other such UI element.

https://gist.github.com/romannurik/3982005

ポータブルにリスナー設置や適切なToast位置の指定や上下の振り分けができます.

ActionMenuItemView.java - Git at Google


関連ワード:  Androidアプリツールライブラリ開発