关于Activity缩小到通知栏,再点击通知栏启动的效果_QQ效果

http://www.eoeandroid.com/forum.php?mod=viewthread&tid=148504#lastpost


大家可能看到很多程序都有点击返回按钮的时候Activity消失,并且通知栏有一个小图标提示,程序缩放的效果,拉下通知栏,点击之后继续跳到那个Activity,并且通知消失。。只有当点击程序给定的退出按钮的时候,才会正常退出,这里提示下,对Activity生命周期熟悉的朋友。。消失的时候可以在OnPause方法做点操作



这里不详细说具体项目中的细节,废话不多说了

实现这样的效果只需要Notification类即可

这里给出大体代码。

public class MainActivity extends Activity {
        /**刷新*/
        private final static int BOTTOM_REFRESH = 1;
        /**退出*/
        private final static int BOTTOM_EXIT = 2;
        NotificationManager manager=null;
        /** Called when the activity is first created. */
        @Override
        public void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                setContentView(R.layout.main);
                manager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
        }
        @Override
        public boolean onKeyDown(int keyCode, KeyEvent event) {
                if (keyCode == KeyEvent.KEYCODE_BACK) {
                        Notification notification = new Notification(R.drawable.icon,
                                        "XX正在后台服务...", System.currentTimeMillis());
                        Intent intent = new Intent(MainActivity.this, MainActivity.class);
                        PendingIntent pendingIntent = PendingIntent.getActivity(
                                        MainActivity.this, 0, intent, 0);
                          //这是点击通知后消失的代码
                        notification.flags |= Notification.FLAG_AUTO_CANCEL;

                        notification.setLatestEventInfo(MainActivity.this, "运行", "",
                                        pendingIntent);
                        manager.notify(1, notification);
                }
                return super.onKeyDown(keyCode, event);
        }
        /**
         * 这里就随便写2个示范下
         */
        @Override
        public boolean onCreateOptionsMenu(Menu menu) {
                menu.add(0, BOTTOM_REFRESH, 1, "刷新");
                menu.add(0, BOTTOM_EXIT, 2, "退出");
                return super.onCreateOptionsMenu(menu);
        }
        @Override
        public boolean onOptionsItemSelected(MenuItem item) {
                int id  = item.getItemId();
                switch (id) {
                case BOTTOM_REFRESH:
                        //调用view的invalidate()自动刷新下界面
                        break;

                case BOTTOM_EXIT:
                        finish();
                        break;
                }
                return super.onOptionsItemSelected(item);
        }
}


这次小细节就说道这。。欢迎大家讨论!

这里是之前发过,希望对大家有帮助吧!
技术〇、android开发过程中 R文件消失
技术一、异步下载资源,实现时时更新进度或者相关百分比
技术二、界面title里面字体逐个显示,然后平滑消失,用户体验效果不错
技术三、程序完美退出问题
技术四、最新的下载源码的方法(ps:只是在原来基础稍微改动下)

初学者相关资源
资源一、软件管理
资源二、网络版的播放器

还有很多的练手的Demo这里就不贴出来了,有相关Demo要求的,请留邮箱,本人能满足的会尽全力..

后面将会补上微博客户端,说下,不是腾讯新浪的,自己随便下载的一个微博类型的网站改编,下载的网站本人觉得代码有点菜,完全没有按MVC模式,代码也比较冗余,但不影响我们Android微博客户端的开发。。时间有限,我也不可能自己花大量时间去开发一个,我还是比较喜欢拿来主义的。。呵呵,有问题大家讨论

这里说下,由于本人之前是做web的,所以游戏开发本人水平还达不到要求,
暂且做应用熟习sdk练手,小弟希望和大家初学者一起努力吧
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值