`

andr菜单

 
阅读更多
Android 菜单
菜单分为两种:系统菜单和上下文菜单。

系统菜单按Menu键出现,通过Activity 的 onCreateOptionsMenu 来创建,onOptionsItemSelected 来响应

上下文菜单是长按控件时出现(如常见的输入法选择), 需为控件单独安装 OnCreateContextMenuListener,  响应则是统一由Activity中的onContextItemSelected 来完成;

public class MenuTest extends Activity {  
    EditText txtInput;  
    Button   btnOK;  
       
    public void onCreate(Bundle savedInstanceState){  
        super.onCreate(savedInstanceState);  
        this.setContentView(R.layout.menutest);  
          
        //控件初始化  
        txtInput = (EditText)this.findViewById(R.id.txtInput);  
        txtInput.setOnCreateContextMenuListener(contextMenuListener);//为控件安装上下文菜单  
          
        btnOK = (Button)this.findViewById(R.id.btnOK);  
        btnOK.setOnCreateContextMenuListener(contextMenuListener);  
    }  
  
    /* 
     * 创建系统菜单 
     * @see android.app.Activity#onCreateOptionsMenu(android.view.Menu) 
     */  
    @Override  
    public boolean onCreateOptionsMenu(Menu menu) {  
        super.onCreateOptionsMenu(menu);  
          
        //从菜单资源中创建菜单  
        MenuInflater inflater = this.getMenuInflater();  
        inflater.inflate(R.menu.menu, menu);  
          
        return true;  
    }  
      
    /* 
     * 系统菜单响应 
     * @see android.app.Activity#onOptionsItemSelected(android.view.MenuItem) 
     */  
    @Override  
    public boolean onOptionsItemSelected(MenuItem item) {  
        switch(item.getItemId()){  
        case R.id.menuOpen:  
            Toast.makeText(this, "Open", 5).show();  
            break;  
        case R.id.menuSave:  
            Toast.makeText(this, "Save", 5).show();  
            break;    
        case R.id.menuExit:  
            this.finish();  
            break;        
        }  
          
        return super.onOptionsItemSelected(item);  
    }  
  
       
    /* 
     * 创建上下文菜单 
     */  
    OnCreateContextMenuListener contextMenuListener = new OnCreateContextMenuListener(){  
        public void onCreateContextMenu(ContextMenu menu, View v,  
                ContextMenuInfo menuInfo) {           
            MenuInflater inflater = MenuTest.this.getMenuInflater();  
            inflater.inflate(R.menu.context, menu);   
              
            //程序方式添加菜单  
            menu.setHeaderTitle("输入法选择");  
            menu.add(0, 0, 0, "自定义输入法");  
        }  
    };   
  
    /* 
     * 上下文菜单响应 
     * @see android.app.Activity#onContextItemSelected(android.view.MenuItem) 
     */  
    @Override  
    public boolean onContextItemSelected(MenuItem item) {  
        String message = String.format("您选择了%s!", item.getTitle());  
        Toast.makeText(this, message, 5).show();  
        return super.onContextItemSelected(item);  
    }  
}  


系统菜单 Menu.xml
<?xml version="1.0" encoding="utf-8"?>  
<menu  
  xmlns:android="http://schemas.android.com/apk/res/android">  
    <group android:id="@+id/menuGroupMain">  
        <item android:id="@+id/menuOpen" android:title="Open" android:orderInCategory="1"></item>  
        <item android:id="@+id/menuSave" android:title="Save" android:orderInCategory="5"></item>  
        <item android:id="@+id/menuExit" android:title="Exit" android:orderInCategory="3"></item>  
    </group>  
</menu>


上下文菜单 Context.xml
<?xml version="1.0" encoding="utf-8"?>  
<menu  
  xmlns:android="http://schemas.android.com/apk/res/android">  
    <group android:id="@+id/groupContext" android:checkableBehavior="single">  
        <item android:title="谷歌拼音" android:id="@+id/menuOption1" android:checkable="true"></item>  
        <item android:title="搜狗拼音" android:id="@+id/menuOption2" android:checkable="true"></item>  
        <item android:title="HTC手写" android:id="@+id/menuOption3" ></item>  
    </group>  
</menu>  


其它文档: http://kb.cnblogs.com/page/78304/
分享到:
评论

相关推荐

    Android使用Activity实现从底部弹出菜单或窗口的方法

    本文实例讲述了Android使用Activity实现从底部弹出菜单或窗口的方法。分享给大家供大家参考,具体如下: 这里使用activity实现弹出滑动窗口或菜单,主要是使用了一些设置activity的样式来实现弹出窗口和滑动... andr

    Android界面设计(APP设计趋势 左侧隐藏菜单右边显示content)

    相关文章android popwindow实现左侧弹出菜单层//www.jb51.net/article/33533.htm移动App设计的13大精髓//www.jb51.net/article/33534.htm这文章讲述了2013年未来的移动APP设计趋势,感觉挺有...因为自己也是刚学的andr

    RESPONSIVE-WEB-NEWSPAPER:基于图形设计的 Web 应用程序,可实现图像的响应式使用、响应式 CSS、响应式网页设计和 JavaScript 以实现汉堡菜单

    响应式网络报纸基于图形设计的 Web 应用程序,可实现图像的响应式使用、响应式 CSS、响应式网页设计和 JavaScript,以实现汉堡菜单。 下图显示了该应用程序的工作原理: 在小视口(移动... 作者:Andrés R. Bucheli。

    fab-speed-dial:FAB使用快速拨号隐喻提供可操作的菜单项

    晶圆厂快速拨号 结合在一起的简单库[FAB]( )+ [菜单资源]( [来自Material Design的快速拨号隐喻]( )。...menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.andr

    Android仿QQ分组实现二级菜单展示

    本文实例为大家分享了Android仿QQ分组实现二级菜单展示的具体代码,供大家参考,具体内容如下 首先展示下要实现的效果 动态查看请看链接 1.首先要定义item,也就是二级展示的item child_item.xml &lt;?xml version=...

    Android实现实时搜索框功能

    用于实现允许用户输入一定字符后,显示一个下拉菜单,供用户从中选择,当用户选择某个选项后,按用户选择自动填写该文本框。 该组件继承EditText,所以它支持EditText组件提供的属性,同时,该组件该支持如下功能。...

    Android开发实现的简单计算器功能【附完整demo源码下载】

    主要介绍了Android开发实现的简单计算器功能,结合实例形式分析了Android计算器的具体实现步骤与相关操作技巧,并附带完整demo源码供读者下载参考,需要的朋友可以参考下

    Android核心技术与实例详解第2版

    全书分为3篇共18章,第1篇以简单易懂的实例为依托,详细介绍了Android平台的基本控件、高级控件、常用界面布局及菜单对话框等相关知识;第2篇介绍了Andr 资源太大,传百度网盘了,链接在附件中,有需要的同学自取。

    Android5.0 旋转菜单实例详解

    先给大家展示下效果图: 这个效果是安卓5.0推出 “材料设计” Ui效果 以前一直没留意到,写篇文章当成备忘录 上面的效果图 用 DrawerLayout和Toolbar实现 布局如下 &lt;?xml version=1.0 encoding=utf-8?... andr

    AccuWeather Platinum 4.6.2.apk

    购股权的Andr​​oid菜单的一部分。 •在手机主屏幕上的状态栏显示当前温度为电流或家庭用户的位置。这是“通知”中的“设置”菜单下的用户定制。 •存储无限量的位置,以及多达10个喜爱的地点。从“位置”菜单选项...

    AccuWeather Platinum v3.3.2.7.paid已付费

    购股权的Andr​​oid菜单的一部分。 •在手机主屏幕上的状态栏显示当前温度为电流或家庭用户的位置。这是“通知”中的“设置”菜单下的用户定制。 •存储无限量的位置,以及多达10个喜爱的地点。从“位置”菜单选项...

    Libraries For Developers 3.38

    *“的Andr​​oid-FB样滑出式导航”由Alex Korovyansky *“ActionsContentView”由史蒂芬鲁坚科 *“NewPopupMenu”frombyu1aryz *“UndoBar”由廖凯 *“PopupDemo”由诺兰劳森 *“弹出自定义”由unparallellogical *...

    Android核心技术与实例详解

    全书分为三篇共18章,第一篇以简单易懂的实例为依托,详细介绍了Android平台的基本控件、高级控件、常用界面布局及菜单对话框等相关知识;第二篇介绍了Android平台的高级知识,包括消息与广播服务、网络数据处理、...

    智能移动终端应用开发设计报告Android-贪吃蛇.doc

    早期由原名为"Android"的公司开发,谷歌在2005年收购"Android.Inc"后,继续对Andr oid系统开发运营,它采用了软件堆层(software stack,又名软件叠层)的架构,主要分为三部分。底层Linux内核只提供基本功能,其 ...

    SuperBottomBar:像android一样的Spotify材质底部导航栏库

    超级底吧 关于 Spotify就像android材质的底部导航栏库一样。 GIF 设计学分 所有设计和灵感来源均归。 设置 将其添加到存储库末尾的root build.gradle中: ... menu xmlns : android = " http://schemas.andr

    X-plore File Manager.apk

    主要交互是通过触摸屏完成后,单击文件夹或文件,打开文件,或长按以打开包含它可以在特定的点击过的商品或多个选定的项目进行选择上下文菜单。 多选择允许做的操作上更多的文件一次。文件可以通过单击复选框被选中...

    Android ListView实现简单列表功能

    ListView如何实现简单列表,供大家参考,具体内容如下 效果图: 啥也没干的ListView张这样: fry.Activity01 package fry; import com.example.ListView.R; import android.app.Activity;...import andr

    MailDroid Pro 4.55.apk

     MailDroid是Webdav/POP3/IMAP空闲推送邮件客户端从地上写了和,而不是根据股票的Andr??oid邮件客户端上。  这是MailDroid的Pro版本,不包含任何广告。 Pro版本确实包含了一些额外的功能是不可用的广告版本。支持...

Global site tag (gtag.js) - Google Analytics