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;
  • 相关阅读:
    管理员必备的Linux系统监控工具
    kafka入门:简介、使用场景、设计原理、主要配置及集群搭建(转)
    RedHat linux配置yum本地资源
    RedHat Linux RHEL6配置本地YUM源
    c语言中的fgets函数
    sprintf()函数的用法
    spring boot整合JWT例子
    spring boot 自定义过滤器链
    (转)ArrayList和LinkedList的几种循环遍历方式及性能对比分析
    (转)Springboot 中filter 注入对象
  • 原文地址:https://www.cnblogs.com/a284628487/p/3014688.html
Copyright © 2011-2022 走看看