ActionBar粗谈

原创 2012年04月06日 12:03:32

ActionBar.NAVIGATION_MODE_LIST:

ActionBar bar = this.getActionBar();

bar.setNavigationMode(ActionBar.NAVIGATION_MODE_LIST);

bar.setListNavigationCallbacks(newSimpleSpinnerArrayAdapter(this),new ListListener(this,this));

SimpleSpinnerArrayAdapter继承ArrayAdapter<String>实现SpinnerAdapter接口

ListListener关键要实现ActionBar.OnNavigationListener接口

 

ActionBar.NAVIGATION_MODE_STANDARD:
ActionBar bar = this.getActionBar();

bar.setNavigationMode(ActionBar.NAVIGATION_MODE_STANDARD);

之后若添加Tab且不为Tab设置监听,不会报错.Tab也不会显示.

 

ActionBar.NAVIGATION_MODE_TABS:

ActionBar bar = this.getActionBar();

bar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);

TabListener tl = new TabListener(this,this);

Tab tab1 = bar.newTab();

tab1.setText("Tab1");

tab1.setTabListener(tl);

bar.addTab(tab1);

如果忘记在添加到操作栏的选项卡上调用setTabListener(),将会获得一个表明需要监听器的运行时错误.

 

ActionBar同时可以设置自定义的View

ActionBar bar = this.getActionBar();

bar.setCustomView(view);

在ActionBar的中间位置添加自定义的View

 

由于ActionBar的右边栏是Menu的集合在Activity:onCreateOptionsMenu(Menumenu)中添加

@Override
 public boolean onCreateOptionsMenu(Menu menu){
  MenuInflater menuInflater =getMenuInflater();
  menuInflater.inflate(R.menu.main,menu);
  returnsuper.onCreateOptionsMenu(menu);
}

而在R.menu.main的\res\menu\main.xml文件中,可以定义普通的Menu也可以定义自定义的

<menu xmlns:android="http://schemas.android.com/apk/res/android">

   <item
       android:id="@+id/menu_refresh"
       android:icon="@drawable/ic_action_refresh"
       android:orderInCategory="2"
       android:showAsAction="always"
       android:title="@string/menu_refresh"/>

   <item
       android:id="@+id/menu_search"
       android:icon="@drawable/ic_action_search"
       android:orderInCategory="1"
       android:showAsAction="always"
       android:title="@string/menu_search">
       <menu>
           <item
               android:id="@+id/menu_search1"
               android:icon="@drawable/ic_action_search"
               android:title="@string/menu_search"/>
        </menu>
   </item>

    <itemandroid:id="@+id/menu_search3"
      android:title="Search"
      android:orderInCategory="0"
      android:showAsAction="ifRoom"
      android:actionViewClass="android.widget.SearchView" />

   <item
       android:id="@+id/menu_share"
       android:icon="@drawable/ic_menu_share"
       android:orderInCategory="1"
       android:showAsAction="never"
       android:title="@string/menu_share"/>

</menu>

android:showAsAction让Menu如何显示,分为四种:

ifRoom;always;never;withText

ifRoom表示如果有空间就显示

always表示总是显示

never则会在最右边的其他Menu的列表中显示

withText无非就是显示加上Text

android:actionViewClass

可以自定相应的View,这边调用的是系统自带的android.widget.SearchView:点击Menu使Menu变长并成为搜索框

 

ActionBar的样式目前只知道能从Manifest中通过android:theme来指定自定义的theme来操作,自定义的theme必须继承ActionBar或者Holo,列如:parent="@android:style/Theme.WithActionBar"


ActionBar图标

  • 2015年07月16日 16:30
  • 1.19MB
  • 下载

ActionBar的基本使用

1. ActionBar的介绍 ActionBar 是 Google 在 Android 3.0之后推出的一种全新用户操作方式 目的 : 用来替换掉菜单按键功能,长按操作功能,提供一种全新的操作体验 ...

ActionBar分页菜单

  • 2012年08月29日 22:04
  • 180KB
  • 下载

actionbar actionProvider

  • 2015年10月09日 12:58
  • 3.4MB
  • 下载

Android ActionBar完全解析,使用官方推荐的最佳导航栏(上)

本篇文章主要内容来自于Android Doc,我翻译之后又做了些加工,英文好的朋友也可以直接去读原文。 http://developer.android.com/guide/topics/ui/ac...
  • judyge
  • judyge
  • 2016年09月21日 21:32
  • 258

actionbar 入门儿 demo

  • 2014年11月21日 09:06
  • 584KB
  • 下载

qt 的顶部标题栏(ActionBar)

  • 2015年12月29日 10:24
  • 185KB
  • 下载

android ActionBar的颜色修改和简单原理

android的ActionBar已经成为了一个热门的风格 ActionBar

android actionbar简单实例

  • 2015年11月24日 00:09
  • 1.4MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ActionBar粗谈
举报原因:
原因补充:

(最多只允许输入30个字)