2013.12.03(3) ——— android ActionbarSherlockSample之ActionItems

/* * Copyright (C) 2011 Jake Wharton * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * *      http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */package com.actionbarsherlock.sample.demos;import android.os.Bundle;import android.widget.TextView;import com.actionbarsherlock.app.SherlockActivity;import com.actionbarsherlock.view.Menu;import com.actionbarsherlock.view.MenuItem;public class ActionItems extends SherlockActivity {    @Override    public boolean onCreateOptionsMenu(Menu menu) {        //Used to put dark icons on light action bar        boolean isLight = SampleList.THEME == R.style.Theme_Sherlock_Light;        menu.add("Save")            .setIcon(isLight ? R.drawable.ic_compose_inverse : R.drawable.ic_compose)            .setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM);        menu.add("Search")            .setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM | MenuItem.SHOW_AS_ACTION_WITH_TEXT);        menu.add("Refresh")            .setIcon(isLight ? R.drawable.ic_refresh_inverse : R.drawable.ic_refresh)            .setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM | MenuItem.SHOW_AS_ACTION_WITH_TEXT);        return true;    }    @Override    protected void onCreate(Bundle savedInstanceState) {        setTheme(SampleList.THEME); //Used for theme switching in samples        super.onCreate(savedInstanceState);        setContentView(R.layout.text);        setContent((TextView)findViewById(R.id.text));    }    protected void setContent(TextView view) {        view.setText(R.string.action_items_content);    }}


参考:http://su1216.iteye.com/blog/1550551

setShowAsAction:设置ActionBar中menu的显示方式
显示方式一共有如下5种:
从不显示;如果有空间就显示;总是显示;显示时跟随文字;默认收缩其action view
/** Never show this item as a button in an Action Bar. */    public static final int SHOW_AS_ACTION_NEVER = android.view.MenuItem.SHOW_AS_ACTION_NEVER;    /** Show this item as a button in an Action Bar if the system decides there is room for it. */    public static final int SHOW_AS_ACTION_IF_ROOM = android.view.MenuItem.SHOW_AS_ACTION_IF_ROOM;    /**     * Always show this item as a button in an Action Bar.     * Use sparingly! If too many items are set to always show in the Action Bar it can     * crowd the Action Bar and degrade the user experience on devices with smaller screens.     * A good rule of thumb is to have no more than 2 items set to always show at a time.     */    public static final int SHOW_AS_ACTION_ALWAYS = android.view.MenuItem.SHOW_AS_ACTION_ALWAYS;    /**     * When this item is in the action bar, always show it with a text label even if     * it also has an icon specified.     */    public static final int SHOW_AS_ACTION_WITH_TEXT = android.view.MenuItem.SHOW_AS_ACTION_WITH_TEXT;    /**     * This item's action view collapses to a normal menu item.     * When expanded, the action view temporarily takes over     * a larger segment of its container.     */    public static final int SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW = android.view.MenuItem.SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW;


当然这个也是actionbarsherlock里面的,你可以看出来 他直接等于了android的

其中SHOW_AS_ACTION_WITH_TEXT需要注意一下
在手机中,竖屏状态下text是不会显示的,切换到横屏才会显示text

SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW也需要特别说明一下
menu的每个item都可以设置action view,如果设置了,那么这个view默认是显示的,设置了SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW后,则默认不显示


另外需要说明的是:
现在手机有两种,一种是有实体按键的手机,不在action bar显示的item,按menu则会看到剩余的item
另一种是没有实体menu键的手机,他们通过action bar等触发menu,所有的item都会在action bar显示,“显示不下”的item会在action bar最后一个item触发显示剩余item列表,类似于之前我们按menu键后出现的“more”




更多相关文章

  1. Android 获取手机第三方应用列表
  2. Android 获取系统信息(手机品牌、型号、安卓版本号等等)
  3. Android获取手机经纬度(GPS、NetWork)封装工具类
  4. android点击手机返回键触发事件
  5. Android Studio连接华为mate8手机调试时不显示错误日志的解决办
  6. android查询数据库获得手机里面所有的联系人
  7. android 手机屏蔽广告 hosts
  8. android之获取手机安装包里面的信息、获取目录空间的大小
  9. Android 2.1读取手机通讯录

随机推荐

  1. 「React Native」Android(安卓)title 标
  2. 【Android】Android心跳包详解
  3. 关于Android(Java)创建匿名线程
  4. Android(安卓)Camera简单整理(四)-Androi
  5. 增加系统的KEYCODE_CLEAR 功能,清除当前输
  6. android 项目打包jar
  7. Android(安卓)Studio 打Jar包和混淆的Jar
  8. Android(安卓)RotateAnimation动画不能旋
  9. Android里遇到Debug能用,Release不能用的A
  10. Android(安卓)学习进阶之路