1.使用魅族的demo里的SmartBarUtils.java
2.在mainifest中的Application
android:uiOptions="splitActionBarWhenNarrow
"
3.在基类的activity中:
//代表隐藏头部bar
ble(getActionBar(), true);
getActionBar().setDisplayOptions(0);
4.在业务的fragment中:
必须先调用下面的代码,才能是fragment里的menu生效
setHasOptionsMenu(true);
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
inflater.inflate(R.menu.home_menu, menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.menu_home_page:
new AlertDialog.Builder(mAct).setTitle("Action Menu Item")
.setPositiveButton("Yes", null).setNegativeButton("Cancel", null).show();
break;
default:
break;
}
return super.onOptionsItemSelected(item);
}
魅族的反射工具类:
public class SmartBarUtils {
public static void setActionBarTabsShowAtBo
ttom(ActionBar actionbar, boolean showAtBottom) {
} catch (IllegalArgumentException
} catch (InvocationTargetExceptio
n e) {
public static void setActionBarViewCollapsa
ble(ActionBar actionbar, boolean collapsable) {
"setActionBarViewCollapsa
ble", new Class[] { boolean.class });
} catch (IllegalArgumentException
} catch (InvocationTargetExceptio
n e) {
public static void setActionModeHeaderHidde
n(ActionBar actionbar, boolean hidden) {
"setActionModeHeaderHidde
n", new Class[] { boolean.class });
} catch (IllegalArgumentException
} catch (InvocationTargetExceptio
n e) {