「〜使ってみた結果 www」というか使ってみました。
ゲームでもよく使われているこれ。画面をみながらの機能説明的なやつ。

このライブラリを使います。

gradleファイル群も含まれてますので、Android Studio 上でそのままインポートして動かすことができます。
で、とりあえず、別アプリに組み込もうとしながら、まず、サンプルにて構造を確認していきます。
ディレクトリ構造
ざっくりと眺める。

ShowcaseView/
 + library/
    + build.gradle
    + AndroidManifest.xml
    ...
 + sample/
    + build.gradle
    + AndroidManifest.xml
    ...
 + settings.gradle
 + build.gradle
...
プロジェクトトップの settings.gradle
include ':library', ':sample'
2つのモジュール(Eclipseでいうところのプロジェクト)で構成されているマルチプロジェクト構成。
アプリ「sample」にライブラリ「library」を組み込むイメージ。
sampleの build.gradle
apply plugin: 'android'
dependencies {
     compile project(':library')
     compile 'com.android.support:support-v4:18.0.+'
     compile 'com.nineoldandroids:library:2.4.0+'
}
...
アプリ sample の依存部分。library(もうひとつのモジュール)に依存していることが分かる。
その他のライブラリは、maven central repository から取得依存。
「com.nineoldandroids:library:2.4.0+」もアニメーション等の表示時に必須となる。
library の build.gradle
...
apply plugin: 'android-library'
...
dependencies {
     compile 'com.android.support:support-v4:18.0.+'
     compile 'com.nineoldandroids:library:2.4.0+'
}
...
sample から依存されるライブラリモジュール library の依存部分。
こちらも外部取得依存してる。
GitHub から落としたアーカイブ内には、libs 以下に jar が配置されてるが実際は不要。
実装方法
基本的には3行。
// 表示する View を取得
View showcasedView = findViewById(R.id.view_to_showcase);
// 表示するターゲット(ボタンなど)を取得
ViewTarget target = new ViewTarget(showcasedView); 
// 表示
ShowcaseView.insertShowcaseView(target, 
       this, R.string.showcase_title, R.string.showcase_details);
サンプルの中には、ActionBarやFragmentを利用したものとかあるので、利用頻度が高そうなやつをひとつわかりやすくしておく。
Fragment内で実装するやつ、かつOKボタン押下で連続表示。
@Override
public onActivityCreated() {
    super.onActevityCreated(savedInstanceState);
    ...
    ShowcaseView.ConfigOptions mOptions = new ShowcaseView.ConfigOptions();
        mOptions.block = false;
        mOptions.hideOnClickOutside = false;
        ShowcaseViews mViews = new ShowcaseViews(
            getActivity(),
            new ShowcaseViews.OnShowcaseAcknowledged() {
                @Override
                public void onShowCaseAcknowledged(ShowcaseView showcaseView) {
                    Toast.makeText(
                            getApplicationContext(),
                            R.string.showcase_message_finished,
                            Toast.LENGTH_SHORT
                    ).show();
                }
            }
        );
        mViews.addView(
                new ShowcaseViews.ItemViewProperties(
                        R.id.target1,
                        R.string.showcase_title1,
                        R.string.showcase_message1,
                        1.2f // 円のサイズ
                )
        );
        mViews.addView(
                new ShowcaseViews.ItemViewProperties(
                        R.id.target2,
                        R.string.showcase_title2,
                        R.string.showcase_message2,
                        0.5f  // 円のサイズ
                )
        );
        mViews.show(); 
}
手順メモ。
1. ライブラリディレクトリをコピーする。 2. settings.gradle と build.gradle を編集して依存関係をととのえる。 3. Fragment#OnActivityCreated() 内に上記を挿入する。 4. 挿入した部分を編集。 ・表示場所、サイズの指定 ・メッセージリソースの指定 5. strings.xml にメッセージを追加。
初回起動時のみの表示とするには、SharedPreferences を使うとよいです。
「一度表示されたかどうか」を保存して置きましょう。
初回起動(保存)するとき。
...
SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(this);
sp.edit().putInt("InitState", 1).commit();
...
確認(読み込み)するとき。
...
SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(this);
if (0 == sp.getInt("InitState", 0) {
    showShowcase();
}
...
初回起動時に1度だけダイアログを出す方法 « Tech Booster 
以上でいけました。とさ。


[GUIDE] Holo-themed transparent demo overlays with ShowcaseView - xda-developers
関連ワード: Android・AndroidStudio・アプリ・ツール・ライブラリ・便利な設定・開発・showcaseview・初回起動時
 
		 
          