欧美三级国产三级日韩三级_亚洲熟妇丰满大屁股熟妇_欧美亚洲成人一区二区三区_国产精品久久久久久模特

第二章吸引你的眼球—UI編程(8) - 新聞資訊 - 云南小程序開(kāi)發(fā)|云南軟件開(kāi)發(fā)|云南網(wǎng)站建設(shè)-昆明葵宇信息科技有限公司

159-8711-8523

云南網(wǎng)建設(shè)/小程序開(kāi)發(fā)/軟件開(kāi)發(fā)

知識(shí)

不管是網(wǎng)站,軟件還是小程序,都要直接或間接能為您產(chǎn)生價(jià)值,我們?cè)谧非笃湟曈X(jué)表現(xiàn)的同時(shí),更側(cè)重于功能的便捷,營(yíng)銷(xiāo)的便利,運(yùn)營(yíng)的高效,讓網(wǎng)站成為營(yíng)銷(xiāo)工具,讓軟件能切實(shí)提升企業(yè)內(nèi)部管理水平和效率。優(yōu)秀的程序?yàn)楹笃谏?jí)提供便捷的支持!

您當(dāng)前位置>首頁(yè) » 新聞資訊 » 技術(shù)分享 >

第二章吸引你的眼球—UI編程(8)

發(fā)表時(shí)間:2020-10-19

發(fā)布人:葵宇科技

瀏覽次數(shù):42

2.4 Menu鍵的┞焚喚—Menu菜單


應(yīng)用Android手機(jī)的同伙應(yīng)當(dāng)敵手機(jī)的“Menu”鍵都不陌生吧。它應(yīng)用起來(lái)便利、快捷,不須要占用應(yīng)用的界面,正因?yàn)樗末路庑┨攸c(diǎn),我們?nèi)缃裼泻芏嗟膽?yīng)用都應(yīng)用了Menu-菜單鍵。
Menu菜蕩竽暌剮好幾種類(lèi)型,它們各有各的┞飯現(xiàn)情勢(shì),分別應(yīng)用在不合的場(chǎng)合,以下我們一一對(duì)它們進(jìn)話(huà)舊紹。
 
1)通俗的Menu(選項(xiàng)菜單)
    這是我們?nèi)粘F椒矐?yīng)用最多、也是最常見(jiàn)的菜單,它就是當(dāng)用戶(hù)單擊設(shè)畢喔贍菜單按鍵時(shí)彈出的菜單。它最多只能顯示6個(gè),跨越6個(gè)則第六個(gè)主動(dòng)顯示“更多”選項(xiàng)來(lái)展開(kāi)顯示。它的創(chuàng)建也很簡(jiǎn)單,在Activity中覆蓋onCreateOptionsMenu(Menu menu)辦法。

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    menu.add(0, 1, 1, "添加");
    menu.add(0, 2, 2, "刪除");
    return super.onCreateOptionsMenu(menu);
}

 
在Menu的add辦法中有四個(gè)參數(shù):
第一個(gè)int類(lèi)型的group ID參數(shù),代表的是組概念,你可以將幾個(gè)菜單項(xiàng)歸為一組,以便更好的以組的方法治理你的菜單按鈕。
第二個(gè)int類(lèi)型的item ID參數(shù),代表的是項(xiàng)目編號(hào)。這個(gè)參數(shù)異常重要,一個(gè)item ID對(duì)應(yīng)一個(gè)menu中的選項(xiàng)。在后面應(yīng)用菜單的時(shí)刻,就靠這個(gè)item ID來(lái)斷定你應(yīng)用的是哪個(gè)選項(xiàng)。
 第三個(gè)int類(lèi)型的order ID參數(shù),代表的是菜單項(xiàng)的顯示次序。默認(rèn)是0,表示菜單的顯示次序就是按照add的顯示次序來(lái)顯示。
 第四個(gè)String類(lèi)型的title參數(shù),表示選項(xiàng)中顯示的文字。
按下Menu鍵后效不雅如圖2-24所示:
[img]http://img.blog.csdn.net/20150104093228723
圖2-24 通俗Menu的應(yīng)用
 
當(dāng)然,我們也可以給每一個(gè)菜單項(xiàng)設(shè)置零丁的擱筆:

menu.add(0, 1, 1, "添加").setIcon(R.drawable.add_no);
menu.add(0, 2, 2, "刪除").setIcon(R.drawable.reduce_no);

 
效不雅如圖2-25所示:
[img]http://img.blog.csdn.net/20150104093241952
圖2-25 Menu添加擱筆
 
如許就有了“添加”和“刪除”兩個(gè)菜單選項(xiàng)。如不雅要添加點(diǎn)擊事宜,則要覆蓋onOptionsItemSelected(MenuItem item)辦法。

@Override
public boolean onOptionsItemSelected(MenuItem item) {
if(item.getItemId() == 1){
        Toast t = Toast.makeText(this, "鈉揭捉的是添加菜單", Toast.LENGTH_SHORT);
        t.show();
} else if(item.getItemId() == 2){
        Toast t = Toast.makeText(this, "鈉揭捉的是刪除菜單", Toast.LENGTH_SHORT);
        t.show();
    }
    return true;
}

 
2)SubMenu(子菜單)
    如不雅剛才介紹的Menu為第一級(jí)按鈕的話(huà),SubMenu就是第二級(jí)按鈕,它是將雷同功能的分組進(jìn)行多級(jí)顯示的菜單。
  SubMenu的應(yīng)用也同樣簡(jiǎn)單,在第一段代碼onCreateOptionsMenu(Menu menu)辦法中參加幾句,成下面如許:

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    menu.add(0, 1, 1, "添加");
    menu.add(0, 2, 2, "刪除");
    SubMenu subMenu = menu.addSubMenu(0, 3, 3, "修改");
    subMenu.add(1, 4, 1, "用戶(hù)名修改");
subMenu.add(1, 5, 2, "暗碼修改");  
return true;
}

 
點(diǎn)擊“修改”后就會(huì)出現(xiàn)子菜單,有兩個(gè)子選項(xiàng),分別是“用戶(hù)名修改”和“暗碼修改”,效不雅如圖2-26所示:
[img]http://img.blog.csdn.net/20150104093255976
圖2-26 子菜單的應(yīng)用
 
3)Context Menu(高低文菜單)
Context Menu類(lèi)似于電腦上的右鍵,長(zhǎng)按某個(gè)View之后彈出來(lái)的菜單。我們也來(lái)舉個(gè)簡(jiǎn)單的例子加以解釋。
起首在構(gòu)造文件中定義一個(gè)按鈕:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">
    <Button
        android:id="@+id/test"
        android:layout_centerInParent="true"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="我的按鈕"/>
</RelativeLayout>

 
然后我們?cè)谠揂ctivity的onCreate辦法里對(duì)這兩個(gè)按鈕進(jìn)行注冊(cè),代碼如下:

private Button myButton;
 
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    myButton = (Button) findViewById(R.id. my_button1);
    registerForContextMenu(myButton);   
}

 
注冊(cè)好了之后,我們就可以覆蓋onCreateContextMenu辦法,在這辦法中實(shí)現(xiàn)b1和b2兩個(gè)按鈕的長(zhǎng)按事宜,代碼如下:

@Override
public void onCreateContextMenu(ContextMenu menu, View v,
            ContextMenuInfo menuInfo) {
if(v== myButton){
            Toast.makeText(DialogActivity.this, "長(zhǎng)按事宜", Toast.LENGTH_SHORT).show();
    }
    super.onCreateContextMenu(menu, v, menuInfo); }

 
我們長(zhǎng)按按鈕來(lái)看看效不雅,如圖2-27所示:
[img]http://img.blog.csdn.net/20150104093311826?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYXJ1aTMxOQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast
圖2-27 高低文菜單的應(yīng)用
 
我們應(yīng)用的重要就是以上三種菜單,它們各有各的特點(diǎn),應(yīng)用在不合的場(chǎng)合。
其實(shí)很多時(shí)刻,我們比不是經(jīng)由過(guò)程“硬編碼”來(lái)創(chuàng)建菜單的,而是采取xml文件的方法。這種方法可以使代碼和文件分別開(kāi)來(lái),使代碼全部看上去加倍的清楚。創(chuàng)建起來(lái)也相當(dāng)?shù)谋憷⒖旖?。下面我們也舉一個(gè)簡(jiǎn)單的例子加以解釋。
起重要在res/目次下建一個(gè)文件夾,名為menu,接著在該文件夾下建一個(gè)名為menu_xml_file.xml的xml文件,代碼如下:

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<group android:id="@+id/grout_main">
        <item android:id="@+id/menu_1"
                android:title="Menu1"/>
        <item android:id="@+id/menu_2"
            android:title=" Menu2" />
</group>
</menu>

 
在Activity中覆蓋onCreateOptionsMenu(Menu menu)辦法,代碼如下:

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.menu_xml_file, menu);
    return true;
}

 
如許Menu菜單就創(chuàng)建好了,效不雅如圖2-28所示:
[img]http://img.blog.csdn.net/20150104093341171
圖2-28 xml文件創(chuàng)建菜單
 
和之前一樣,我們也可以經(jīng)由過(guò)程ID監(jiān)聽(tīng)它們的點(diǎn)擊事宜。

相關(guān)案例查看更多