具有透明布局的Android活动

edw*_*win 7 android android-view android-dialog android-activity

我希望创建一个看起来像弹出窗口的活动

这是活动的透明背景,我希望在设备屏幕右上角的scree上的自定义位置显示它

我所做的就是onCreate像popty一样流行

Display display = getWindow().getWindowManager().getDefaultDisplay();
    WindowManager.LayoutParams params = getWindow().getAttributes();
    // params.x = -20;
    params.height = (display.getHeight()) / 2;
    params.width = (display.getWidth()) / 2;
    // params.y = -10;
    params.gravity =  Gravity.RIGHT;
    getWindow().setAttributes(params); 
Run Code Online (Sandbox Code Playgroud)

在maifest

 <activity android:name=".DialogAct"
           android:theme="@android:style/Theme.Holo.Light.NoActionBar"></activity>
Run Code Online (Sandbox Code Playgroud)

这就是我的启动器活动的样子

在此输入图像描述

所以,当我点击动作栏上的搜索时,我正在向我的新活动发送意图.我想让它看起来像搜索图标下面的弹出这我得到的是 在此输入图像描述

您可以看到单击上一个活动的搜索并加载新活动(蓝色部分).如您所见,新活动将移至屏幕中心.但我希望它只是在操作栏图标下方.

我试过了params.gravity = Gravity.TOP | Gravity.RIGHT;.然后我得到了这个

在此输入图像描述

我想把它放在上一个活动的操作栏下面.我尝试了许多方法来实现它但失败了.所以任何人都可以建议一种方法

Onu*_* A. 0

在你的清单中你写了

<activity android:name=".DialogAct"
           android:theme="@android:style/Theme.Holo.Light.NoActionBar">
Run Code Online (Sandbox Code Playgroud)

你应该删除这个NoActionBar部分

<activity android:name=".DialogAct"
           android:theme="@android:style/Theme.Holo.Light">
Run Code Online (Sandbox Code Playgroud)