Android - 如何创建覆盖全屏,包括Action Bar

时间:2014-01-07 08:32:13

标签: java android android-layout layout

我正在尝试创建一个帮助屏幕叠加层,它在第一次运行应用程序时出现,覆盖整个屏幕,包括操作栏。如果应用程序之前已经启动,我有逻辑可行,但是我很难让覆盖层覆盖操作栏。

我尝试了一些不同的技术,包括自定义对话框和在顶部调用新布局,所有这些似乎都没有涵盖操作栏。 有些人可以帮助我。

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补丁图像,我希望将其用于所有分辨率。

编辑:

我也尝试过以下链接中的方法。但结果相同,没有覆盖行动栏:

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

2 个答案:

答案 0 :(得分:3)

也许这个开源库正是您所寻找的:

Showcase View

enter image description here

您可以从GitHub获取源代码和设置说明。

跳跃有用:)

答案 1 :(得分:3)

您可以在清单文件中设置它

    <activity
        android:name="com.android.YourActivity"
        android:screenOrientation="portrait"
        android:theme="@android:style/Theme.NoTitleBar.Fullscreen" />