我有一个名为whereactivity的活动,它也有子对话框。现在,我想将这个活动显示为另一个活动的对话框。
我该怎么做呢?
我有一个名为whereactivity的活动,它也有子对话框。现在,我想将这个活动显示为另一个活动的对话框。
我该怎么做呢?
当前回答
你可以在values/styles.xml中定义这个样式来执行更像以前的Splash:
<style name="Theme.UserDialog" parent="android:style/Theme.Dialog">
<item name="android:windowFrame">@null</item>
<item name="android:windowIsFloating">true</item>
<item name="android:windowIsTranslucent">true</item>
<item name="android:windowNoTitle">true</item>
<item name="android:background">@android:color/transparent</item>
<item name="android:windowBackground">@drawable/trans</item>
</style>
然后使用AndroidManifest.xml:
<activity android:name=".SplashActivity"
android:configChanges="orientation"
android:screenOrientation="sensor"
android:theme="@style/Theme.UserDialog">
其他回答
在你的android manifest文件中设置主题。
<activity android:name=".LoginActivity"
android:theme="@android:style/Theme.Dialog"/>
并将对话框状态设置为触摸完成。
this.setFinishOnTouchOutside(false);
要以对话框的形式启动activity,我在AndroidManifest.xml中这样定义:
<activity android:theme="@android:style/Theme.Dialog" />
在activity标签中使用这个属性可以避免你的对话框出现在最近使用的应用列表中
android:excludeFromRecents="true"
如果你想阻止你的对话框/活动在用户点击对话框外时被破坏:
在setContentView()在你的活动使用:
this.setFinishOnTouchOutside(假);
现在,当我调用startActivity()时,它显示为一个对话框,当用户按下返回按钮时显示上一个活动。
注意,如果你正在使用ActionBarActivity(或AppCompat主题),你需要使用@style/ theme .AppCompat。对话框。
如果你的活动被渲染成一个对话框,只需在你的活动的xml中添加一个按钮,
<Button
android:id="@+id/close_button"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Dismiss" />
然后在Activity的Java代码中附加一个单击侦听器。在侦听器中,只需调用finish()
Button close_button = (Button) findViewById(R.id.close_button);
close_button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
finish();
}
});
这应该会终止对话框,返回到调用活动。
你可以在values/styles.xml中定义这个样式来执行更像以前的Splash:
<style name="Theme.UserDialog" parent="android:style/Theme.Dialog">
<item name="android:windowFrame">@null</item>
<item name="android:windowIsFloating">true</item>
<item name="android:windowIsTranslucent">true</item>
<item name="android:windowNoTitle">true</item>
<item name="android:background">@android:color/transparent</item>
<item name="android:windowBackground">@drawable/trans</item>
</style>
然后使用AndroidManifest.xml:
<activity android:name=".SplashActivity"
android:configChanges="orientation"
android:screenOrientation="sensor"
android:theme="@style/Theme.UserDialog">
使用下面的代码,当用户在对话框外触摸时,对话框活动不会关闭:
this.setFinishOnTouchOutside(false);
要求API等级11