2013-07-05 2 views
0

Я пытаюсь создать знак тренера для Android.Создание знака тренера на Android

Я хочу, чтобы это был абсолютно полный экран, и мое приложение имеет ActionBar. Итак, решение, предложенное Commons, которое в основном завышает FrameLayout после setContentView(view);, не работает, потому что FrameLayout будет ниже ActionBar. И я хочу его на весь экран.

Итак, я снял скриншот моего экрана и нарисовал несколько тренеров с фотошопом и создал его .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. И мне это нужно.

Может ли кто-нибудь помочь мне с этим?

ответ

2

Просто добавьте это к вашему onCoachMark метод:

dialog.getWindow().setLayout(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT); 
Смежные вопросы