自定义android的快速操作对话框

Anu*_*pam 5 customization android quickaction android-activity

我正在开发一个应用程序,我必须在单击按钮时显示快速操作对话框.以下是我希望如何实现的示例.

我想要实现什么.

直到现在我无法弄清楚如何制作自定义快速操作对话框.但我尝试过使用一项活动,以及一些我接近实现的目标.这是我到目前为止所做的.

点击按钮我将意图传递给活动:

if (v.getId() == R.id.points) {
        Toast.makeText(MainActivity.this, "Clicked on points",
                Toast.LENGTH_SHORT).show();
        Intent i = new Intent(MainActivity.this, PointsActionMenu.class);
        startActivity(i);
    }
Run Code Online (Sandbox Code Playgroud)

我曾经习惯styles.xml让活动透明化.

Styles.xml

<style name="Theme.Transparent" parent="android:Theme">
    <item name="android:windowIsTranslucent">true</item>
    <item name="android:windowBackground">@android:color/transparent</item>
    <item name="android:windowContentOverlay">@null</item>
    <item name="android:windowNoTitle">true</item>
    <item name="android:windowIsFloating">true</item>
    <item name="android:backgroundDimEnabled">false</item>
</style>
Run Code Online (Sandbox Code Playgroud)

实现这些东西我在屏幕上有这个UI. 到达这里

现在,我有两个问题:

  1. 我已经使用了活动并设计了一个布局来满足我的需求.有没有简单的方法可以使用快速操作对话框来实现它.我已经完成了2-3个示例,但我无法根据需要对其进行自定义.
  2. 至于我使用活动实现的,它显示在屏幕的中央,我可以将活动的默认位置更改为右角,如图所示.

答案中的任何一个都可以帮助我.

任何形式的帮助将不胜感激.

Anu*_*pam 2

我想我解决了我的问题。这就是现在的样子。

我发现了什么

集成以下代码来设置其位置。

WindowManager.LayoutParams wmlp = this.getWindow().getAttributes();

    wmlp.gravity = Gravity.TOP | Gravity.LEFT;
    wmlp.x = 80; // x position
    wmlp.y = 60; // y position
Run Code Online (Sandbox Code Playgroud)