2014-01-07 2 views
0

Я пытаюсь создать наложение экрана справки, которое появляется при первом запуске приложения, которое охватывает весь экран, включая панель действий. У меня есть логика для разработки, если приложение было запущено раньше, однако я изо всех сил пытаюсь получить оверлей для покрытия панели действий.Android - как создать оверлейный полноэкранный режим, включая панель действий

Я пробовал несколько различных приемов, включая специальный диалог и вызов нового макета сверху, все из которых, похоже, не охватывают панель действий. Может кто-нибудь, пожалуйста, помогите мне.

в OnCreate метод:

Dialog helpOverlay = new Dialog(HomeActivity.this); 
helpOverlay.requestWindowFeature(Window.FEATURE_NO_TITLE); 
helpOverlay.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT)); 
helpOverlay.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND); 
helpOverlay.getWindow().requestFeature(Window.FEATURE_ACTION_BAR_OVERLAY); 
helpOverlay.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN); 
WindowManager.LayoutParams params = helpOverlay.getWindow().getAttributes(); 

params.gravity = Gravity.TOP | Gravity.LEFT; 
params.x = 100; 
params.y = 20; 
// If user taps anywhere on the screen, dialog will be cancelled. 
helpOverlay.setCancelable(true); 
// Setting the content using prepared XML layout file. 
helpOverlay.setContentView(R.layout.help_overlay); 
helpOverlay.show(); 

help_overlay.xml

<?xml version="1.0" encoding="utf-8"?> 
    <RelativeLayout 
     xmlns:android="http://schemas.android.com/apk/res/android" 
     android:id="@+id/home_overlay_layout_test" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:orientation="vertical" 
     android:windowActionBarOverlay="true"> 

     <ImageView 
      android:id="@+id/help_overlay_test" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_alignParentLeft="true" 

      android:layout_alignParentTop="true" 

      android:src="@drawable/helphome" /> 

    </RelativeLayout> 

helphome изображение представляет собой 9-патч образ, который я надеялся использовать для всех разрешений.

EDIT:

Я также попробовал метод в ссылке ниже. но с теми же результатами, не покрывая панель действий:

http://www.christianpeeters.com/android-tutorials/android-tutorial-overlay-with-user-instructions/

+0

Поскольку вы используете оповещения как экземпляр вашей деятельности, опубликовать XML, тема зависит в этом case –

+0

В противном случае вы можете попробовать это http://stackoverflow.com/questions/4481226/creating-a-system-overlay-always-on-top-button-in-android –

ответ

2

возможно это библиотека с открытым исходным кодом является то, что вы ищете:

Showcase View

enter image description here

Вы может получить исходный код и инструкции по настройке от GitHub.

хмель быть полезным :)

+0

спасибо, я искал что-то вроде этого но используя «android» + «учебник», поскольку ключевые слова google никогда не показывали ничего полезного! –

+1

им нравится, что мой ответ будет полезен для вас :) – FxRi4

3

Вы можете установить его в файле манифеста

<activity 
     android:name="com.android.YourActivity" 
     android:screenOrientation="portrait" 
     android:theme="@android:style/Theme.NoTitleBar.Fullscreen" /> 
Смежные вопросы