0

Android用のコーチマークを作成しようとしています。

完全に全画面表示にしたいのですが、アプリにはActionBar. そのため、Commons によって提案された解決策は、基本的に FrameLayout をインフレートした後でsetContentView(view);機能しませFrameLayoutActionBar。そしてフルスクリーンにしたい。

そこで、自分の画面のスクリーンショットを撮り、Photoshop でいくつかのコーチ マークを描き、.png ファイルを作成しました。次に、次のコードを使用してこの png ファイルを読み込みます。

public void onCoachMark(){
        final Dialog dialog = new Dialog(this);
        dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
        dialog.getWindow().setBackgroundDrawable(new ColorDrawable(android.graphics.Color.TRANSPARENT));
        dialog.setContentView(R.layout.activity_main_coach_mark);
        dialog.setCanceledOnTouchOutside(true);

        //for dismissing anywhere you touch
        View masterView = dialog.findViewById(R.id.parent);
        masterView.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                dialog.dismiss();
                preferences.edit().putBoolean("COACH_MARK_MAIN_SHOWN", true).commit();
            }
        });
        dialog.show();
    }

これは私の電話で完全に機能しますが、ご存知のように、何千もの Android モデルがあります。別のモデルでは、次のようになります。

http://s21.postimg.org/7989378tz/Screenshot_2013_07_05_13_18_03.png

ShowcaseViewプロジェクトを使用してみましたが、どうやら ActionBar ボタンでは機能しません。そして、私はそれが必要です。

誰でもこれで私を助けることができますか?

4

2 に答える 2

2

onCoachMarkこれをメソッドに追加するだけです:

dialog.getWindow().setLayout(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT);
于 2014-02-28T16:06:13.680 に答える