AndroidManifest.xml
<uses-sdk android:minSdkVersion="11" /><application android:uiOptions="splitActionBarWhenNarrow" >
下面这行用于代码中动态判断版本,你可以用自己的解决方案
<meta-dataandroid:name="sf_icon"android:value="meizu" />
Tools.java
/*** Get value of a meta from Manifest* * @param context* @return*/public static String getMeta(Context context, final String name) {String str = "";ApplicationInfo ai = null;try {ai = context.getPackageManager().getApplicationInfo(context.getPackageName(), PackageManager.GET_META_DATA);Object v = ai.metaData.get(name);if (v != null) {str = v.toString();}} catch (NameNotFoundException e) {LogUtils.e(e);}return str;}/*** 判断是否为魅族专版(tab显示不同于普通版)* * @param context* @return*/public static boolean isMeizu(Context context) {String sf = Tools.getMeta(context, Constants.META_SF_ICON);if (sf.equals("meizu")) {return true;}return false;}
xxxActivity.java
private boolean isMeizu = false;@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);isMeizu = Tools.isMeizu(getApplicationContext());if (isMeizu) {// 设置若顶栏没有显示内空,则隐藏SmartBarUtils.setActionBarViewCollapsable(getActionBar(), true);getActionBar().setDisplayOptions(0);} else {requestWindowFeature(Window.FEATURE_NO_TITLE);}setContentView(R.layout.main);if (isMeizu) {getTabWidget().setVisibility(View.GONE);}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {if (isMeizu) {MenuInflater inflater = getMenuInflater();inflater.inflate(R.menu.tab_menu, menu);}return true;}@Overridepublic boolean onPrepareOptionsMenu(Menu menu) {for (int i = 0; i < menu.size(); i++) {refreshTabIcon(menu.getItem(i), getTabHost().getCurrentTab());}return super.onPrepareOptionsMenu(menu);}private void refreshTabIcon(MenuItem item, int currentTab) {if (item.getGroupId() == R.id.tab_group) {switch (item.getItemId()) {case R.id.tab_yuanfen:item.setIcon(currentTab == TAB_TAG_INDEX_YUANFEN ? R.drawable.yuanfen_foucs: R.drawable.yuanfen);break;case R.id.tab_search_love:item.setIcon(currentTab == TAB_TAG_INDEX_SEARCH_LOVE ? R.drawable.search_love_foucs: R.drawable.search_love);break;case R.id.tab_msgbox:item.setIcon(currentTab == TAB_TAG_INDEX_MSG_BOX ? R.drawable.msg_box_foucs: R.drawable.msg_box);break;case R.id.tab_space:item.setIcon(currentTab == TAB_TAG_INDEX_SPACE ? R.drawable.space_foucs: R.drawable.space);break;case R.id.tab_more:item.setIcon(currentTab == TAB_TAG_INDEX_MORE ? R.drawable.more_foucs: R.drawable.more);break;default:break;}}}@Overridepublic boolean onOptionsItemSelected(MenuItem item) {if (item.getGroupId() == R.id.tab_group) {int index=-1;switch (item.getItemId()) {case R.id.tab_yuanfen:{getTabHost().setCurrentTab(TAB_TAG_INDEX_YUANFEN);index=0;}break;case R.id.tab_search_love:{getTabHost().setCurrentTab(TAB_TAG_INDEX_SEARCH_LOVE);index=1;}break;case R.id.tab_msgbox:{getTabHost().setCurrentTab(TAB_TAG_INDEX_MSG_BOX);index=2;}break;case R.id.tab_space:{getTabHost().setCurrentTab(TAB_TAG_INDEX_SPACE);index=3;}break;case R.id.tab_more:{getTabHost().setCurrentTab(TAB_TAG_INDEX_MORE);index=4;}break;default:break;}invalidateOptionsMenu();if (index != -1) {backToFirst(index);}}return super.onOptionsItemSelected(item);}
tab_menu.xml
<?xml version="1.0" encoding="utf-8"?><menu xmlns:android="http://schemas.android.com/apk/res/android" ><group android:id="@+id/tab_group"><itemandroid:id="@+id/tab_yuanfen"android:showAsAction="always|withText"android:title="@string/YUAN_FEN_STR"/><itemandroid:id="@+id/tab_search_love"android:showAsAction="always|withText"android:title="@string/SEARCH_LOVE_STR"/><itemandroid:id="@+id/tab_msgbox"android:showAsAction="always|withText"android:title="@string/MESSAGE_BOX_STR"/><itemandroid:id="@+id/tab_space"android:showAsAction="never|withText"android:title="@string/SPACE_STR"/><itemandroid:id="@+id/tab_more"android:showAsAction="never|withText"android:title="@string/MORE_STR"/></group></menu>
ss
sss