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;
  • 相关阅读:
    flutter 布局
    常见错误
    xpath
    bzoj1485 [HNOI2009]有趣的数列 卡特兰数
    博弈 Nim问题 POJ2234
    bzoj 1014 [JSOI2008]火星人prefix
    codevs 1743 反转卡片 rope or splay
    bzoj 2326 矩阵乘法
    bzoj 1702 贪心,前缀和
    bzoj 1700 Problem Solving 解题 dp
  • 原文地址:https://www.cnblogs.com/a284628487/p/3014688.html
Copyright © 2011-2022 走看看