android中自己编写一个开始菜单并能设置墙纸的功能,android墙纸,[Java]代码list
分享于 点击 11851 次 点评:89
android中自己编写一个开始菜单并能设置墙纸的功能,android墙纸,[Java]代码list
[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; } } }); } } });
用户点评