• ActionBar


    我对ActionBar的简单总结

    一、

    功能:

    1、显示选项菜单的菜单项

    2、使用程序图标作为返回Home主屏或向上的导航操作

    3、提供交互是View作为Action View

    4、提供Tab的导航方式,可用于切换多个Fragment

    5、提供下拉式的导航

    二、启用ActionBar

    ActionBar acitonBar= getActionBar();

    acitonBar.show();

    acitonBar.hide();

    三、显示选项菜单

    setShowAsAction(int actionEnum);该方法设置是否将该菜单项显示在ActionBar上,作为ActionItem。

    里面的参数有以下几种

        MenuItemCompat.SHOW_AS_ACTION_ALWAYS (始终显示)
        MenuItemCompat.SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW (隐藏列表中显示)
      MenuItemCompat.SHOW_AS_ACTION_IF_ROOM (屏幕有空间就显示,没空间就隐藏)
      MenuItemCompat.SHOW_AS_ACTION_NEVER (永不显示)
      MenuItemCompat.SHOW_AS_ACTION_WITH_TEXT (既显示图标又显示文字)
      最后 在方法中要 return true

    四、启动程序图标导航

    1、设置是否应该将应用程序图标转变成可点击的图标,并且在图标上添加一个向左的箭头。

    setDisplayHomeAsUpEnabled(boolean showHomeAsUp)

    2、通过传入int类型常量来控制该ActionBar的显示选项

    setDisplayOptions(int options)

    a)opitions选项为

          DISPLAY_HOME_AS_UP

          DISPLAY_SHOW_CUSTOM

          DISPLAY_SHOW_HOME

          DISPLAY_SHOW_TITLE

          DISPLAY_USE_LOGO

          NAVIGATION_MODE_LIST

          NAVIGATION_MODE_STANDARD

         NAVIGATION_MODE_TABS

    3、设置是否显示应用程序的图标。

    setDislayShowHomeEnabled(boolean showHome)

    4、设置是否将应用程序图标转变成可点击的按钮。

    setHomeButtonEnabled(boolean eabled)

    五、ActionBar左上角的返回键监听

    它的id是android.R.id.home。下面列举了两种写法

    @Override
        public boolean onOptionsItemSelected(MenuItem item) {
            if(item.getItemId() == android.R.id.home)
            {
                finish();
                return true;
            }
            return super.onOptionsItemSelected(item);
        }
    @Override
        public boolean onOptionsItemSelected(MenuItem item) {
            if(item.isCheckable()){
                item.setCheckable(true);
            }
            //判断是哪个菜单项,并有针对性地作出响应
            switch (item.getItemId()) {
            case android.R.id.home:
                Intent intent = new Intent(this,FirstActivity.class);
                intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
                startActivity(intent);
                break;
    
            default:
      break;
            }
            return super.onOptionsItemSelected(item);
        }

    六、actionBar实现Tab导航(注意:要继承ActionBar. TabListener)

    1)调用ActionBar的setNavigationMode(ActionBar.NAVIGATION_MODE_TABS)方法设置使用Tab导航方式。

    2)调用ActionBar的addTab()方法添加多个Tab标签,并为每个Tab标签添加时间监听器

      actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
       actionBar.addTab(actionBar.newTab().setText("第一页").setTabListener(this));
  • 相关阅读:
    Jenkins 构建后生成的HTML报告,无法导入js/css文件问题
    持续集成:API自动化 + Jenkins定时构建
    Jenkins 的安装与基础配置
    浏览器兼容性测试
    测试过程中bug缺陷的定义、bug类型、bug等级、bug生命周期、bug管理流程、bug状态处理
    常用四种用例设计方法
    软件测试工作流程图、软件测试的基本流程、软件开发流程、测试流程梳理
    软件的生命周期:瀑布型、V模型、敏捷开发模型生命周期;软件测试各阶段工作内容
    软件测试的分类、软件测试分类的说明、软件测试常见的误区
    java应用cpu使用率过高问题排查
  • 原文地址:https://www.cnblogs.com/bxfx111/p/ActionBar.html
Copyright © 2020-2023  润新知