2013-07-05 25 views
0

我正在嘗試爲Android創建教練標記。在Android上創建教練標記

我希望它是絕對全屏,我的應用程序有一個ActionBar。因此,Commons建議的解決方案基本上在setContentView(view);之後擴展FrameLayout不起作用,因爲FrameLayout將低於ActionBar。我想要全屏。

因此,我截取了我的屏幕,並用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項目嘗試,但很顯然,它不與動作條按鈕的作用。我需要那個。

任何人都可以幫助我嗎?

回答

2

只需添加到您的onCoachMark方法:

dialog.getWindow().setLayout(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT);