meizu mx适配

来源:互联网 发布:什么铁艺制品淘宝 编辑:程序博客网 时间:2024/06/05 21:03

AndroidManifest.xml

    <uses-sdk android:minSdkVersion="11" />    <application android:uiOptions="splitActionBarWhenNarrow" >


下面这行用于代码中动态判断版本,你可以用自己的解决方案

        <meta-data            android: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;    @Override    public 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);        }    @Override    public boolean onCreateOptionsMenu(Menu menu) {        if (isMeizu) {            MenuInflater inflater = getMenuInflater();            inflater.inflate(R.menu.tab_menu, menu);        }        return true;    }    @Override    public 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;            }        }    }    @Override    public 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">    <item        android:id="@+id/tab_yuanfen"        android:showAsAction="always|withText"        android:title="@string/YUAN_FEN_STR"/>    <item        android:id="@+id/tab_search_love"        android:showAsAction="always|withText"        android:title="@string/SEARCH_LOVE_STR"/>    <item        android:id="@+id/tab_msgbox"        android:showAsAction="always|withText"        android:title="@string/MESSAGE_BOX_STR"/>    <item            android:id="@+id/tab_space"            android:showAsAction="never|withText"            android:title="@string/SPACE_STR"/>        <item            android:id="@+id/tab_more"            android:showAsAction="never|withText"            android:title="@string/MORE_STR"/> </group>    </menu>





ss


sss

0 0
原创粉丝点击