ActionBarSherlock是Android兼容开发包的一个扩展,在所有的Android版本中都能实现Action Bar。对于Android 4.0及更高版本,他会自动使用Native ActionBar,而对于之前没有Action Bar功能的Android版本,基于Ice Cream Sandwich的实现自定义的Action Bar布局。能够让开发者轻松开发一款带Action Bar的应用,并且适用于Android 2.x及其以上所有版本。

***Action Bar来源于Honeycomb的app库,logo显示在左边,导航标签与操作项目在右边(加溢出菜单按钮)。

https://github.com/JakeWharton/ActionBarSherlock

版本:ActionBarSherlock-4.4.0

(1)从标准Android切换到ActionBarSherlock
既然是兼容包,就意味着要使用一些特有的东西来替换Android标准的东西。


(2)默认样式

res/menu/default_style.xml

<menu xmlns:android="http://schemas.android.com/apk/res/android" >    <item        android:id="@+id/action_settings"        android:orderInCategory="100"        android:showAsAction="never"        android:title="@string/action_settings"/></menu>


@Overridepublic boolean onCreateOptionsMenu(Menu menu) {    MenuInflater inflator = getSupportMenuInflater();    inflator.inflate(R.menu.default_style, menu);    return true;}



对比淘宝4.0的消息设置:


(3)Tab样式
@Overrideprotected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.activity_tab_style);    ActionBar actionBar = getSupportActionBar();    actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);        Tab tab1 = actionBar.newTab();    tab1.setText("Tab 1");    tab1.setTabListener(this);    actionBar.addTab(tab1);        Tab tab2 = actionBar.newTab();    tab2.setText("Tab 2");    tab2.setTabListener(this);    actionBar.addTab(tab2);        Tab tab3 = actionBar.newTab();    tab3.setText("Tab 3");    tab3.setTabListener(this);    actionBar.addTab(tab3);}@Overridepublic void onTabSelected(Tab tab, FragmentTransaction ft) {    Toast.makeText(this, "change:" + tab.getPosition(), Toast.LENGTH_SHORT).show();}



对比淘宝4.0的微淘:


(4)List样式
@Overrideprotected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.activity_list_style);    ActionBar actionBar = getSupportActionBar();    actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_LIST);    ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1);    for (int i = 1; i <= 5; i++) {        adapter.add("item" + i);    }    actionBar.setListNavigationCallbacks(adapter,            new OnNavigationListener() {                @Override                public boolean onNavigationItemSelected(int itemPosition, long itemId) {                    Toast.makeText(ListStyleActivity.this, "pos" + itemPosition, Toast.LENGTH_SHORT).show();                    return false;                }            });}



对比淘宝4.0的我的购物车:


更多相关文章

  1. Android内核开发:源码的版本与分支详解
  2. Android(安卓)TextView的特殊使用:阴影,加样式
  3. 丢失Android系统库或者Conversion to Dalvik format failed with
  4. Android中主题与样式
  5. Android(安卓)使用 OpenCV (JNI 实现)
  6. Android内核开发:源码的版本与分支详解
  7. Android(安卓)如何自己定义控件的样式 Shape
  8. android电子书App、自定义图表、仿腾讯漫画App、仿淘宝优惠券、3
  9. Android(安卓)SDK版本和ADT版本

随机推荐

  1. 代码里面修改layout_gravity
  2. java.lang.UnsatisfiedLinkError: No imp
  3. SwipeRefreshLayout使用小记
  4. android 发送e-mail实例
  5. Android(安卓)隐藏虚拟导航栏
  6. mac 电脑的android studio 启动的时候报
  7. Android设置屏幕方向
  8. AndroidX和android.support对照表
  9. Android(安卓)CTS Verifier Sensor Test
  10. Android动态控制Activity全屏