Android UI Action Bar之ActionBarSherlock
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
对比淘宝4.0的消息设置:
(3)Tab样式
对比淘宝4.0的微淘:
(4)List样式
对比淘宝4.0的我的购物车:
***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>
- @Override
- public boolean onCreateOptionsMenu(Menu menu) {
- MenuInflater inflator = getSupportMenuInflater();
- inflator.inflate(R.menu.default_style, menu);
- return true;
- }
对比淘宝4.0的消息设置:
(3)Tab样式
- @Override
- protected 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);
- }
- @Override
- public void onTabSelected(Tab tab, FragmentTransaction ft) {
- Toast.makeText(this, "change:" + tab.getPosition(), Toast.LENGTH_SHORT).show();
- }
对比淘宝4.0的微淘:
(4)List样式
- @Override
- protected 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的我的购物车:
- ActionBarSherlockSample.zip (497.8 KB)
- 下载次数: 217

浙公网安备 33010602011771号