黄色网页视频 I 影音先锋日日狠狠久久 I 秋霞午夜毛片 I 秋霞一二三区 I 国产成人片无码视频 I 国产 精品 自在自线 I av免费观看网站 I 日本精品久久久久中文字幕5 I 91看视频 I 看全色黄大色黄女片18 I 精品不卡一区 I 亚洲最新精品 I 欧美 激情 在线 I 人妻少妇精品久久 I 国产99视频精品免费专区 I 欧美影院 I 欧美精品在欧美一区二区少妇 I av大片网站 I 国产精品黄色片 I 888久久 I 狠狠干最新 I 看看黄色一级片 I 黄色精品久久 I 三级av在线 I 69色综合 I 国产日韩欧美91 I 亚洲精品偷拍 I 激情小说亚洲图片 I 久久国产视频精品 I 国产综合精品一区二区三区 I 色婷婷国产 I 最新成人av在线 I 国产私拍精品 I 日韩成人影音 I 日日夜夜天天综合

Menu 大變臉

系統 2109 0

實話說 就個人感覺 Memu 真的很丑 所以今天嘗試換掉之

?

?

[原理]

1. 保留Menu按鍵起作用

2. 用ListView顯示所有子菜單

?

?

?

[代碼 步驟]

1. 定義 menu.xml 僅含有一個ListView 并得到其View

    <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
<ListView  
	android:id="@+id/mList"
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    />
</LinearLayout>

  

?

    mview = this.getLayoutInflater().inflate(R.layout.menu, null);
    	
  

?

?

2. 使用PopupWindow作為菜單顯示容器 并得到其中的ListView 供后續使用

    mpop = new PopupWindow(mview,500,200);
    	mpop.setFocusable(true);

    	mlist = (ListView)mview.findViewById(R.id.mList);
    	
  

?

?

3. 定義List<Map<String,String>> moption 用于存放菜單名字

    public void initialMenu(){
    	moption = new ArrayList<Map<String,String>>();
    	
    	Map<String,String> map1 = new HashMap<String,String>();
    	map1.put("Option", "新增");
    	moption.add(map1);
    	
    	Map<String,String> map2 = new HashMap<String,String>();
    	map2.put("Option", "刪除");
    	moption.add(map2);
    	
    	Map<String,String> map3 = new HashMap<String,String>();
    	map3.put("Option", "屬性");
    	moption.add(map3);
    	
    }
  

?

4. 在ListView中顯示moption

    String[] from = {"Option"};
        int[] to = {R.id.text1};
        madapter = new SimpleAdapter(this, moption, R.layout.menulayout, from,to);
        
        mlist.setAdapter(madapter);
  

?

5. 注冊Menu彈起事件

    public boolean onCreateOptionsMenu(Menu menu) {
    	mpop.showAtLocation(findViewById(R.id.mainlayout), Gravity.CENTER, 30, 40);
    	
        return false;
    }
  

?

6. 注冊Menu子項單擊事件 而后關閉之

    mlist.setOnItemClickListener(new OnItemClickListener(){
			@Override
			public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
					long arg3) {
				// TODO Auto-generated method stub
				doMenu(arg2);
				
				mpop.dismiss();
			}
        	
        });


public void doMenu(int i){
    	switch(i){
    	case 0:
    		break;
    	
    	case 1:
    		break;
    			
    	}
    	
    	Toast.makeText(this, "Menu "+i+" is selected!", Toast.LENGTH_LONG).show();
    }
  

?

?

?7. emulator 運行截圖:

? Menu 大變臉

Menu 大變臉


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論