参考 :http://www.jb51.net/article/32031.htm
1、点击任意位置退出该activity,切换至原界面
监听屏幕触摸事件即可
@Override
public boolean onTouchEvent(MotionEvent event)
{
Intent intent = new Intent();
intent.setClass(History.this, NodeInfo.class);
History.this.startActivity(intent);
History.this.finish();
return true;
}
2、将Activity设置为弹窗效果
在styles.xml中自定义一个style,如:
<style name="PopUpStyle">
<item name="android:windowBackground">@android:color/transparent</item>
<item name="android:windowFrame">@null</item>
<item name="android:windowNoTitle">true</item>
<item name="android:windowIsFloating">true</item>
<item name="android:windowIsTranslucent">true</item>
<item name="android:windowContentOverlay">@null</item>
<item name="android:windowAnimationStyle">@android:style/Animation.Dialog</item>
<item name="android:backgroundDimEnabled">true</item>
</style>
其中:
<item name="android:windowBackground">@android:color/transparent</item>窗口背景色
<item name="android:windowFrame">@null</item>Dialog的windowFrame框为无
<item name="android:windowIsFloating">true</item>是否浮现在activity之上
<item name="android:windowIsTranslucent">true</item>窗口是否半透明——是(与第一条配合使用)
<item name="android:windowAnimationStyle">@android:style/Animation.Dialog</item>窗口弹出效果
<item name="android:backgroundDimEnabled">true</item> 是否允许背景模糊
<item name="android:windowContentOverlay">@null</item>这个不设置的话,可能会出现边框黑线
在androidmanifest.xml中的activity标签下添加:
<activity
android:name=".History"
android:theme="@style/PopUpStyle"
>
</activity>