zoukankan      html  css  js  c++  java
  • Android 创建菜单项Menu及获取手机分辨率

     

    在Activity中覆写下面两个方法:

        // 创建菜单
        @Override
        public boolean onCreateOptionsMenu(Menu menu) {
            menu.add(0, 0, 0, "关于");
            // menu.add(int groupId, int itemId, int order, CharSequence title)
            menu.add(0, 1, 1, "退出");
            return super.onCreateOptionsMenu(menu);
        }
    
        // 菜单响应
        @Override
        public boolean onOptionsItemSelected(MenuItem item) {
            super.onOptionsItemSelected(item);
            switch (item.getItemId()) {
            case 0:
                Toast.makeText(getApplicationContext(), "关于Livingstone的博客", 1).show();
                break;
            case 1:
                this.finish();
                break;
            }
            return true;
        }

    此种方法可以创建菜单项Menu,其实还简单一点的方法,我们可以使用MenuInflater{听类名是不是很熟悉,联想一下LayoutInflater}
    在res/menu文件夹下,修改main.xml

    <item
      android:id="@+id/menu1"
      android:icon="@android:drawable/alert_dark_frame"
      android:title="Menu1"/>
    <item
      android:id="@+id/menu2"
      android:icon="@android:drawable/alert_dark_frame"
      android:title="Menu2"/>
    <item
      android:id="@+id/menu3"
      android:icon="@android:drawable/alert_dark_frame"
      android:title="Menu3"/>
    <item
      android:id="@+id/menu4"
      android:icon="@android:drawable/alert_dark_frame"
      android:title="Menu4"/>

    接着修改Activity的方法

        @Override
        public boolean onCreateOptionsMenu(Menu menu) {
            MenuInflater inflater = getMenuInflater();
            inflater.inflate(R.menu.main, menu);
            return true;
        }
        @Override
        public boolean onOptionsItemSelected(MenuItem item) {
            switch (item.getItemId()) {
            case R.id.menu1:// 在此定义第一个菜单项的响应事件
                break;
            case R.id.menu2:
                break;
            case R.id.menu3:
                break;
            case R.id.menu4:
                showSettings();
                break;
            }
            return super.onOptionsItemSelected(item);
        }
       // 显示系统设置的方法
    private void showSettings() { final Intent settingsIntent = new Intent(android.provider.Settings.ACTION_SETTINGS); settingsIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED); startActivity(settingsIntent); }

    **************************************************************************************************

    获取手机分辨率大小

    private DisplayMetrics dm = new DisplayMetrics();
                    getWindowManager().getDefaultDisplay().getMetrics(dm);
                    //获得手机的宽带和高度像素单位为px
                    String str = "手机屏幕分辨率为:" + dm.widthPixels +" * "+dm.heightPixels;
  • 相关阅读:
    机器学习笔记(二)---- 线性回归
    机器学习笔记(一)----基本概念
    ZZ:SDNLAB技术分享(一):ODL的SFC入门和Demo
    zz:NETCONF协议详解
    技术谈 | SDN 和 NFV 之间的爱与恨
    华为云内容审核—性能更加狂野,价格更加腼腆
    【并发技术01】传统线程技术中创建线程的两种方式
    【开发者portal在线开发插件系列五】命令的响应,即命令结果的上报(mid的使用)
    【并发技术16】线程同步工具Exchanger的使用
    什么是API文档?--斯科特·马文
  • 原文地址:https://www.cnblogs.com/a284628487/p/3014688.html
Copyright © 2011-2022 走看看