• 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;
  • 相关阅读:
    VUE常用传值方式、父传子、子传父、非父子组件传值
    ios10中禁止用户缩放页面
    TCP MSS
    C++11 之 override
    unordered_set
    c++Lambda
    QUIC实现代码分析
    C++11新特性之十:enable_shared_from_this
    c++11 atomic
    How to Write a QUIC Endpoint Program
  • 原文地址:https://www.cnblogs.com/a284628487/p/3014688.html
Copyright © 2020-2023  润新知