阳光网驿-企业信息化交流平台【DTC零售连锁全渠道解决方案】

 找回密码
 注册

QQ登录

只需一步,快速开始

扫描二维码登录本站

手机号码,快捷登录

老司机
查看: 2605|回复: 4

[转帖] android中自己编写一个开始菜单并能设置墙纸的功能

[复制链接]
  • TA的每日心情
    开心
    2012-3-7 10:15
  • 签到天数: 11 天

    [LV.3]偶尔看看II

    发表于 2012-2-1 11:44:05 | 显示全部楼层 |阅读模式
    [代码] [Java]代码list = new ArrayList<HashMap<String,String>>();
      HashMap<String,String> map = new HashMap<String,String>();
            map.put("menuItemName", "文件");
            list.add(map);
            HashMap<String,String> map2 = new HashMap<String,String>();
            map2.put("menuItemName", "设置墙纸1");
            list.add(map2);
            HashMap<String,String> map3 = new HashMap<String,String>();
            map3.put("menuItemName", "设置墙纸2");
            list.add(map3);
            HashMap<String,String> map4 = new HashMap<String,String>();
            map4.put("menuItemName", "设置快捷1");
            list.add(map4);
            HashMap<String,String> map5 = new HashMap<String,String>();
            map5.put("menuItemName", "设置快捷2");
            list.add(map5);
            HashMap<String,String> map6 = new HashMap<String,String>();
            map6.put("menuItemName", "设置快捷3");
            list.add(map6);
            HashMap<String,String> map7 = new HashMap<String,String>();
            map7.put("menuItemName", "退出");
            list.add(map7);
            
            myButton = (Button)findViewById(R.id.myButton);
            
            myButton.setOnClickListener(new OnClickListener() {
                @Override
                public void onClick(View v) {
                    // TODO Auto-generated method stub
                    if(state == 1) {
                        state = 0;
                        pop.dismiss();
                    }
                    else if(state == 0) {
                        // 弹出自定义的菜单
                        layout = getLayoutInflater().inflate(R.layout.menu_layout, null);
                        menulist = (ListView)layout.findViewById(R.id.menulist);
                        SimpleAdapter listAdapter = new SimpleAdapter(Testflag.this,list,R.layout.menu_item,new String[]{"menuItemName"},new int[]{R.id.menuitem});
                        menulist.setAdapter(listAdapter);
                        
                        pop = new PopupWindow(layout, myButton.getWidth(),getWindowManager().getDefaultDisplay().getHeight()/3+40);
                        
                        pop.update();
                        //pop.setInputMethodMode(PopupWindow.INPUT_METHOD_NEEDED);
                        pop.setTouchable(true);
                        pop.setOutsideTouchable(true);
                        pop.setFocusable(true);
                        pop.showAtLocation(layout, (Gravity.BOTTOM-myButton.getHeight())|Gravity.LEFT, 0, 2*myButton.getHeight());
                        state = 1;
                        pop.setTouchInterceptor(new OnTouchListener() {
                            @Override
                            public boolean onTouch(View v, MotionEvent event) {
                                if(event.getAction() == MotionEvent.ACTION_OUTSIDE) {
                                    pop.dismiss();
                                    return true;
                                }
                                return false;
                            }
                            
                        });
                        menulist.setOnItemClickListener(new OnItemClickListener() {
                            @Override
                            public void onItemClick(AdapterView<?> arg0, View arg1,
                                    int arg2, long arg3) {
                                // TODO Auto-generated method stub
                                switch(arg2) {
                                case 0:
                                    Toast.makeText(getApplicationContext(), "显示所有文件", Toast.LENGTH_SHORT).show();
                                    pop.dismiss();
                                    break;
                                case 1:
                                 pop.dismiss();
                                 Bitmap wall01 = getWallPaper01();
                               setWallPaper(wall01);
                                    break;
                                case 2:
                                    pop.dismiss();
                                    Bitmap wall02 = getWallPaper02();
                               setWallPaper(wall02);
                                    break;
                                case 3:
                                    Toast.makeText(getApplicationContext(), "设置快捷1", Toast.LENGTH_SHORT).show();
                                    pop.dismiss();
                                    break;
                                case 4:
                                    Toast.makeText(getApplicationContext(), "设置快捷2", Toast.LENGTH_SHORT).show();
                                    pop.dismiss();
                                    break;
                                case 5:
                                    Toast.makeText(getApplicationContext(), "设置快捷3", Toast.LENGTH_SHORT).show();
                                    pop.dismiss();
                                    break;
                                case 6:
                                    Toast.makeText(getApplicationContext(), "退出", Toast.LENGTH_SHORT).show();
                                    pop.dismiss();
                                    break;
                                }
                            }
                            
                        });
                    }
                }
                
            });
    楼主热帖
    启用邀请码注册,提高发帖质量,建设交流社区
  • TA的每日心情
    开心
    2022-4-14 09:30
  • 签到天数: 1433 天

    [LV.10]以坛为家III

    发表于 2012-2-1 11:48:29 | 显示全部楼层
    学习了。感觉这对手机编程很有帮助。
    启用邀请码注册,提高发帖质量,建设交流社区
  • TA的每日心情
    开心
    2012-4-11 15:07
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2012-4-11 15:24:43 | 显示全部楼层
    好东东,一定要支持,收藏备用此贴必火,先占位支持了,谢谢分享
    启用邀请码注册,提高发帖质量,建设交流社区
  • TA的每日心情
    开心
    2017-11-15 16:08
  • 签到天数: 82 天

    [LV.6]常住居民II

    发表于 2012-5-1 13:01:59 | 显示全部楼层
    学习了。感觉这对手机编程很有帮助
    启用邀请码注册,提高发帖质量,建设交流社区
  • TA的每日心情
    慵懒
    2017-6-25 20:04
  • 签到天数: 5 天

    [LV.2]偶尔看看I

    发表于 2012-7-3 17:08:52 | 显示全部楼层
    有个疑问,本分类版块,每个主题的第二个回复者,发布的言语都是一样的,是不是他在灌水?
    启用邀请码注册,提高发帖质量,建设交流社区
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    快速回复 返回顶部 返回列表