0601-APP-menu

介绍各种menu的实现:

1.title only

<menu xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:id="@+id/jump"
        android:title="@string/jump" />

    <item android:id="@+id/dive"
        android:title="@string/dive" />

</menu>

2.titile and icon

<menu xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:id="@+id/happy"
        android:title="Happy"
        android:icon="@drawable/stat_happy" />

    <item android:id="@+id/neutral"
        android:title="Neutral"
        android:icon="@drawable/stat_neutral" />

    <item android:id="@+id/sad"
        android:title="Sad"
        android:icon="@drawable/stat_sad" />

</menu>


3.submenu(包含子menu)

<menu xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:title="Normal 1" />

    <item android:id="@+id/submenu"
        android:title="Emotions">

        <menu>        

            <item android:id="@+id/happy"
                android:title="Happy"
                android:icon="@drawable/stat_happy" />
        
            <item android:id="@+id/neutral"
                android:title="Neutral"
                android:icon="@drawable/stat_neutral" />
        
            <item android:id="@+id/sad"
                android:title="Sad"
                android:icon="@drawable/stat_sad" />
        
        </menu>
    
    </item>

    <item android:title="Normal 2" />

</menu>


4.groups

<menu xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:id="@+id/browser_visibility"
        android:title="@string/browser_visibility" />

    <group android:id="@+id/browser">
    
        <item android:id="@+id/refresh"
            android:title="@string/browser_refresh" />
    
        <item android:id="@+id/bookmark"
            android:title="@string/browser_bookmark" />
    
    </group>

    <item android:id="@+id/email_visibility"
        android:title="@string/email_visibility" />

    <group android:id="@+id/email">
    
        <item android:id="@+id/reply"
            android:title="@string/email_reply" />
    
        <item android:id="@+id/forward"
            android:title="@string/email_forward" />
    
    </group>

</menu>


5.checkAble

<menu xmlns:android="http://schemas.android.com/apk/res/android">

    <!-- Checkable items appear only in submenus or context menus. -->

    <!-- Carefully look at the attribute name checkableBehavior on groups, but
         the attribute name checkable on items. The checkableBehavior encompasses
         the number of items that will be checkable within that group. -->

    <item android:title="None">
        <menu>
            <!-- The none checkableBehavior is default, but we explicitly show it here. -->
            <group android:id="@+id/noncheckable_group"
                    android:checkableBehavior="none">
                <!-- Notice how these items inherit from the group. -->
                <item android:id="@+id/noncheckable_item_1"
                        android:title="@string/item_1" />
                <item android:id="@+id/noncheckable_item_2"
                        android:title="@string/item_2" />
                <item android:id="@+id/noncheckable_item_3"
                        android:title="@string/item_3" />
            </group>
        </menu>
    </item>

    <item android:title="All">
        <menu>
            <group android:id="@+id/checkable_group"
                    android:checkableBehavior="all">
                <!-- Notice how these items inherit from the group. -->
                <item android:id="@+id/checkable_item_1"
                        android:title="@string/item_1" />
                <item android:id="@+id/checkable_item_2"
                        android:title="@string/item_2"
                        android:checked="true" />
                <item android:id="@+id/checkable_item_3"
                        android:title="@string/item_3"
                        android:checked="true" />
            </group>
        </menu>
    </item>

    <item android:title="Single">
        <menu>
            <group android:id="@+id/exclusive_checkable_group"
                    android:checkableBehavior="single">
                <!-- Notice how these items inherit from the group. -->
                <item android:id="@+id/exclusive_checkable_item_1"
                        android:title="@string/item_1" />
                <item android:id="@+id/exclusive_checkable_item_2"
                        android:title="@string/item_2" />
                <item android:id="@+id/exclusive_checkable_item_3"
                        android:title="@string/item_3"
                        android:checked="true" />
            </group>
        </menu>
    </item>

    <item android:title="All without group">
        <menu>
            <!-- Notice how these items have each set. -->
            <item android:id="@+id/nongroup_checkable_item_1"
                    android:title="@string/item_1"
                    android:checkable="true" />
            <item android:id="@+id/nongroup_checkable_item_2"
                    android:title="@string/item_2"
                    android:checkable="true"
                    android:checked="true" />
            <item android:id="@+id/nongroup_checkable_item_3"
                    android:title="@string/item_3"
                    android:checkable="true"
                    android:checked="true" />
        </menu>
    </item>

</menu>


6.shortcuts

<menu xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:id="@+id/invisible_item"
        android:visible="false"
        android:alphabeticShortcut="i"
        android:title="Invisible item" />

    <item android:id="@+id/a_item"
        android:alphabeticShortcut="a"
        android:title="Alvin" />

    <item android:id="@+id/b_item"
        android:alphabeticShortcut="b"
        android:title="Bart" />

    <item android:id="@+id/c_item"
        android:alphabeticShortcut="c"
        android:title="Chris" />

    <item android:id="@+id/d_item"
        android:alphabeticShortcut="d"
        android:title="David" />

    <item android:id="@+id/e_item"
        android:alphabeticShortcut="e"
        android:title="Eric" />

    <item android:id="@+id/f_item"
        android:alphabeticShortcut="f"
        android:title="Frank" />

    <item android:id="@+id/g_item"
        android:alphabeticShortcut="g"
        android:title="Gary" />

    <item android:id="@+id/h_item"
        android:alphabeticShortcut="h"
        android:title="Henry" />

    <item android:id="@+id/excl_item"
        android:alphabeticShortcut="!"
        android:title="Exclamation" />

</menu>

7.order


<menu xmlns:android="http://schemas.android.com/apk/res/android">

    <!-- These are in reverse order in this resource, but the orderInCategory attribute will
         order them for the menu (they all have the same default category). -->

    <item android:id="@+id/fourth_item"
        android:orderInCategory="3"
        android:title="Fourth" />

    <item android:id="@+id/third_item"
        android:orderInCategory="2"
        android:title="Third" />

    <item android:id="@+id/second_item"
        android:orderInCategory="1"
        android:title="Second" />

    <item android:id="@+id/first_item"
        android:orderInCategory="0"
        android:title="First" />

</menu>

8.category and order

<menu xmlns:android="http://schemas.android.com/apk/res/android">

    <!-- This group uses the default category. -->
    <group android:id="@+id/most_used_items">
    
        <item android:id="@+id/last_most_item"
            android:orderInCategory="10"
            android:title="@string/last_most_often" />
    
        <item android:id="@+id/middle_most_item"
            android:orderInCategory="7"
            android:title="@string/middle_most_often" />
    
        <item android:id="@+id/first_most_item"
            android:orderInCategory="4"
            android:title="@string/first_most_often" />
    
    </group>
    
    <!-- This group uses the secondary category, which is used for less oftenly used items.
         Notice these items will show up after the above items.
         (Furthermore, notice how the orders in each category are independent from the other
         category.) -->
    <group android:id="@+id/least_used_items"
        android:menuCategory="secondary">
        
        <item android:id="@+id/last_least_item"
            android:orderInCategory="3"
            android:title="@string/last_least_often" />
    
        <item android:id="@+id/middle_least_item"
            android:orderInCategory="2"
            android:title="@string/middle_least_often" />
    
        <item android:id="@+id/first_least_item"
            android:orderInCategory="0"
            android:title="@string/first_least_often" />
    
    </group>

</menu>

9.visible

<menu xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:id="@+id/visible_item"
        android:title="Visible"
        android:alphabeticShortcut="a" />

    <item android:id="@+id/hidden_item"
        android:title="Hidden"
        android:visible="false"
        android:alphabeticShortcut="b" />

    <group android:id="@+id/hidden_group"
        android:visible="false">
    
        <item android:id="@+id/hidden_by_group"
            android:title="Hidden by group"
            android:alphabeticShortcut="c" />
    
    </group>

</menu>


10.disable

<menu xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:id="@+id/enabled_item"
        android:title="Enabled"
        android:icon="@drawable/stat_happy" />

    <item android:id="@+id/disabled_item"
        android:title="Disabled"
        android:enabled="false"
        android:icon="@drawable/stat_sad" />

    <item android:id="@+id/enabled_item_2"
        android:title="Enabled"
        android:icon="@drawable/stat_happy" />

    <item android:id="@+id/disabled_item_2"
        android:title="Disabled"
        android:enabled="false"
        android:icon="@drawable/stat_sad" />

    <item android:id="@+id/enabled_item_3"
        android:title="Enabled"
        android:icon="@drawable/stat_happy" />

    <item android:id="@+id/disabled_item_3"
        android:title="Disabled"
        android:enabled="false"
        android:icon="@drawable/stat_sad" />

    <item android:id="@+id/enabled_item_4"
        android:title="Enabled"
        android:icon="@drawable/stat_happy" />

    <item android:id="@+id/disabled_item_4"
        android:title="Disabled"
        android:enabled="false"
        android:icon="@drawable/stat_sad" />

</menu>

11.View Menu

 // Reference the Gallery view
        Gallery g = (Gallery) findViewById(R.id.gallery);
        // Set the adapter to our custom adapter (below)
        g.setAdapter(new ImageAdapter(this));
        
        // Set a item click listener, and just Toast the clicked position
        g.setOnItemClickListener(new OnItemClickListener() {
            public void onItemClick(AdapterView parent, View v, int position, long id) {
                Toast.makeText(Gallery1.this, "" + position, Toast.LENGTH_SHORT).show();
            }
        });
        
        // We also want to show context menu for longpressed items in the gallery
        registerForContextMenu(g);

 @Override
    public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) {
        menu.add(R.string.gallery_2_text);
    }
    
    @Override
    public boolean onContextItemSelected(MenuItem item) {
        AdapterContextMenuInfo info = (AdapterContextMenuInfo) item.getMenuInfo();
        Toast.makeText(this, "Longpress: " + info.position, Toast.LENGTH_SHORT).show();
        return true;
    }


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值