【发布时间】:2011-05-09 13:43:11
【问题描述】:
我的应用只包含一个活动,我希望它作为当前活动活动之上的一个小活动打开。
例如,如果应用程序在桌面上有一个快捷方式并且用户激活了它,那么主 Activity 将在主桌面视图的顶部以小尺寸 (deviceHight / 2, deviceWidth / 2) 框打开。如果应用从应用抽屉中单击,抽屉视图将在应用活动后面可见。
一种弹出窗口,但没有父活动。
【问题讨论】:
标签: android
我的应用只包含一个活动,我希望它作为当前活动活动之上的一个小活动打开。
例如,如果应用程序在桌面上有一个快捷方式并且用户激活了它,那么主 Activity 将在主桌面视图的顶部以小尺寸 (deviceHight / 2, deviceWidth / 2) 框打开。如果应用从应用抽屉中单击,抽屉视图将在应用活动后面可见。
一种弹出窗口,但没有父活动。
【问题讨论】:
标签: android
你的意思是像一个对话框?将自定义主题应用于您的活动就可以了。 Android 已经定义了一种样式,可以让我们的 Activity 看起来像一个对话框:@android:style/Theme.Dialog。
有两种方法可以将主题应用于您的活动:
android:theme属性这是应用自定义主题最简单的方法,以下是一个示例:
<activity android:theme="@android:style/Theme.Dialog"
android:name=".MyActivity"/>
Activity.setTheme方法您应该将样式资源ID传递给此方法,在您的情况下,您可以使用android.R.style.Theme_Dialog。 请注意您应该在调用setContentView 之前调用此方法,以便将主题应用于内容视图。
public void onCreate(Bundle savedState) {
super.onCreate(savedState);
setTheme(android.R.style.Theme_Dialog);
setContentView(R.layout.main);
}
【讨论】:
在 AndroidManifest.xml 中将 Activity 的主题设置为 Dialog
<activity android:theme="@android:style/Theme.Dialog">
【讨论】: