遇到了这种需求,要和iPhone一样的效果.
下面是简单实现功能,优化和美化部分,有时间慢慢搞。
方法应该有不少吧,我用的是弹出一个activity,将这个activity的Theme设置为Theme.Dialog
在Manifest.xml里
[html] view
plaincopy
plaincopy
- <activity
- android:name="com.android.activity.PopupkActivity"
- android:theme="@android:style/Theme.Dialog"
- android:alwaysRetainTaskState="true"
- android:configChanges="keyboardHidden|orientation"
- android:screenOrientation="portrait" />
使用一个广播来接收需要弹出来的事件,这里用的是监听时间流逝的广播,需要在代码里注册才能监听到
[java] view
plaincopy
plaincopy
- IntentFilter intentFilter = new IntentFilter();
- intentFilter.addAction(Intent.ACTION_TIME_TICK);
- registerReceiver(new TimeTickBookReceiver(), intentFilter);
收到广播后,在onReceive里处理
[java] view
plaincopy
plaincopy
- Intent mIntent = new Intent();
- mIntent.setClass(context, PopupActivity.class);
- mIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
- mIntent.putExtra("title", getTitle(book.epgtitle));
- context.startActivity(mIntent);
这样就可以在桌面上弹出一个窗口(实际是activity)