Android(安卓)UI Action Bar之ActionBarSherlock
16lz
2021-12-04
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>
@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的我的购物车:
更多相关文章
- Android内核开发:源码的版本与分支详解
- Android(安卓)TextView的特殊使用:阴影,加样式
- 丢失Android系统库或者Conversion to Dalvik format failed with
- Android中主题与样式
- Android(安卓)使用 OpenCV (JNI 实现)
- Android内核开发:源码的版本与分支详解
- Android(安卓)如何自己定义控件的样式 Shape
- android电子书App、自定义图表、仿腾讯漫画App、仿淘宝优惠券、3
- Android(安卓)SDK版本和ADT版本