15 ActionBar 总结

ActionBar

一, 说明

是一个动作栏 是窗口特性 提供给用户动作 导航模式 可以适配不同的屏幕

二, ActionBar 提供的功能

1. 显示菜单项  
    always:总是展示到ActionBar
    ifRoom:如果actionBar上有剩余空间  展示出来  没有的话  展示到溢出菜单
    never:展示溢出菜单

2. 使用应用程序的图片  回到HOME  或者返回到 上一级

3. 自定义View    actionView

4. 提供了导航模式   

5. 提供了ActionProvider

三, ActionBar 作用

  1. 提供给用户指定的空间
  2. 把重要的动作 或容易访问的 动作
  3. 提供了导航

四, a

1. ActionBar的样式:在清单文件修改主题
    换主题  换不同的action样式
     android:theme="@style/AppTheme"
     android:theme="@android:style/Theme.Light" 
     android:theme="@android:style/Theme.Holo"
     android:theme="@android:style/Theme.Holo.Light"
     android:theme="@android:style/Theme.Holo.NoActionBar"

2. ActionBar的显示和隐藏
    >隐藏:1,主题   NoActionBar
          2,在逻辑代码中  获取ActionBar     getActionBar()   控制隐藏
          3,requestWindowFeature(Window.FEATURE_NO_TITLE);  在设置布局之前调用
     >显示:1,选有ActionBar主题
           2,在逻辑代码中  获取ActionBar     getActionBar()   控制显示   show()

3. 创建View

    >res/menu  添加菜单项
     android:showAsAction="always"  菜单项的展示位置

     在逻辑代码中使用选项菜单的俩个方法  一个添加菜单项   另一个进行监听

五, 分割栏操作

在清单文件中的 或者
添加属性: android:uiOptions=”splitActionBarWhenNarrow”

六, 启动导航图标

//应用图标是否能点击 带一个向左的箭头
actionBar.setDisplayHomeAsUpEnabled(true);
//应用图标是否能点击 不带箭头
//actionBar.setHomeButtonEnabled(true);

    //是否显示应用程序图标
    actionBar.setDisplayShowHomeEnabled(true);

    note:y应用图标的id:android.R.id.home

七, Action View 的使用

系统控件:包名+类名android:actionViewClass=”” 添加View 如果是系统提供的控件(包名.类名)

    >自定义布局   android:actionLayout="@layout/layout" 添加自定义的View  


>展开和折叠:
   在菜单布局中设置: android:showAsAction="collapseActionView"
   可以用按钮设置监听   让菜单项展开和折叠

   展开和折叠可以设置监听:
   note:方法里的返回值  设置成true    返回false  不会折叠

   //展开和折叠的监听
    spinnerItem.setOnActionExpandListener(new OnActionExpandListener() {

        @Override
        public boolean onMenuItemActionExpand(MenuItem item) {
            // TODO Auto-generated method stub

            tvSHow.setText("==onMenuItemActionExpand===展开====");
            return true;//返回false  不会折叠
        }

        @Override
        public boolean onMenuItemActionCollapse(MenuItem item) {
            // TODO Auto-generated method stub

            tvSHow.setText("==onMenuItemActionCollapse===折叠的====");
            return true;
        }
    });

八, ActionProvider

系统提供者: android:actionProviderClass=”包名.类名”
android:actionProviderClass=”android.widget.ShareActionProvider”

九, ActionBar Tab 导航 通过选项标签来切换Fragment

//获取ActionBar
ActionBar actionBar = getActionBar();
//设置导航模式
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);

    ActionBar.Tab tab = actionBar.newTab();
    tab.setIcon(android.R.drawable.ic_menu_add);
    tab.setText("头条");
    tab.setTabListener(this);
    actionBar.addTab(tab, true);

posted on 2016-09-09 18:57  木鱼哥  阅读(114)  评论(0编辑  收藏  举报

导航