gpt4 book ai didi

android - 如何从 Intent 调用创建自定义 PopupWindow?

转载 作者:行者123 更新时间:2023-11-29 21:45:16 33 4
gpt4 key购买 nike

我想创建一个与此类似的自定义 PopupWindow :

http://android-er.blogspot.kr/2012/03/example-of-using-popupwindow.html

在此示例中,PopupWindow 是由 Activity 中的按钮单击事件创建的,但我想通过另一个应用程序的 Intent 创建 PopupWindow。是否可以?任何意见将不胜感激!

最佳答案

想法是声明一个标准 Activity ,使其看起来像某种弹出窗口。

使用此代码(标准样板Intent 代码触发Activity)

SOME_WIDGET.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
Intent myIntent = new Intent(getApplicationContext(), THE_POPUP_ACTIVITY.class);
startActivity(myIntent);
}
});

例如,如果您将弹出窗口 Activity 命名为 Popup,则将 THE_POPUP_ACTIVITY.class 替换为 Popup.class

现在,对于这个 Activity,在 Manifest 中声明一个 theme。例如:

这是相应的样式声明:

<style name="DialogNoTitleBar" parent="android:style/Theme.Dialog">
<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>

此外,在 Popup Activity 的 onCreate() 中,您可能希望在 setContentView(R.layout.THE_LAYOUT_XML); 之后添加此语句我说可能,因为您希望它的显示方式可能与我对弹出式 Activity 的编程方式不同。

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

关于android - 如何从 Intent 调用创建自定义 PopupWindow?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16007750/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com