• 用户界面总结 1


    理解UI事件

     

     

     

     Menu

    /*
    OptionMenu 
        1. 如何触发Menu的显示? 
            点击menu键 
        2. 如何向Menu中添加MenuItem? 
            重写onCreateOptionMenu()
            menu.add()或者加载菜单文件
        3. 选择某个MenuItem时如何响应? 
            重写onOptionsItemSelected(), 根据itemId做响应
    ContextMenu
        1. 如何触发Menu的显示? 
            长按某个视图 
            view.setOnCreateContextMenuListener(this)
        2. 如何向Menu中添加MenuItem? 
            重写onCreateContextMenu()
            menu.add()
        3. 选择某个MenuItem时如何响应? 
            重写onContextItemSelected(), 根据itemId做响应
     */
    public class MenuActivity extends Activity {
    
        private Button btn_test2_show_cm;
        
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_menu);
            
            btn_test2_show_cm = (Button) findViewById(R.id.btn_test2_show_cm);
            //设置创建上下文菜单的监听
            btn_test2_show_cm.setOnCreateContextMenuListener(this);
        }
        
        
        @Override
        public void onCreateContextMenu(ContextMenu menu, View v,
                ContextMenuInfo menuInfo) {
            super.onCreateContextMenu(menu, v, menuInfo);
            //添加菜单项
            menu.add(0, 1, 0, "添加");
            menu.add(0, 4, 0, "删除");
        }
        
        @Override
        public boolean onContextItemSelected(MenuItem item) {
            
            switch (item.getItemId()) {
            case 1:
                Toast.makeText(this, "添加", 0).show();
                break;
            case 4:
                Toast.makeText(this, "删除", 0).show();
                break;
            default:
                break;
            }
            
            return super.onContextItemSelected(item);
        }
        
    
        // 用来显示optionmenu的方法: 向menu中添加Item
        @Override
        public boolean onCreateOptionsMenu(Menu menu) {
    
            // 纯编码方式
            menu.add(0, 2, 0, "添加");
            menu.add(0, 3, 0, "删除");
            return super.onCreateOptionsMenu(menu);
        }
        
        /*@Override
        public boolean onCreateOptionsMenu(Menu menu) {
    
            // 菜单文件方式
                //1. 得到菜单加载器对象
            MenuInflater menuInflater = getMenuInflater();
                //2. 加载菜单文件
            menuInflater.inflate(R.menu.option_menu, menu);
            return super.onCreateOptionsMenu(menu);
        }*/
        
        @Override
        public boolean onOptionsItemSelected(MenuItem item) {
            
            switch (item.getItemId()) {
            //case R.id.add:
            case 2:
                Toast.makeText(this, "添加", 0).show();
                break;
            //case R.id.delete:
            case 3:
                Toast.makeText(this, "删除", 0).show();
                break;
            default:
                break;
            }
            
            return super.onOptionsItemSelected(item);
        }
    }
    Menu

     

     对话框

    API结构

     一般的Dialog

     

     

  • 相关阅读:
    20155229-付钰涵-分析自我技能延展到c语言学习状况
    预备作业①
    读《嵌入式系统项目分析入门与实践》⑤
    读《嵌入式系统项目分析入门与实践》④
    读《嵌入式系统项目分析入门与实践》③
    读《嵌入式系统项目分析入门与实践》②
    读《嵌入式系统项目分析入门与实践》①
    读《大学有感》④
    读《大学之路》有感③
    读《大学之路》有感②
  • 原文地址:https://www.cnblogs.com/superxuezhazha/p/12852880.html
Copyright © 2020-2023  润新知