meizu mx适配

news/2025/3/19 19:34:24/

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


http://www.ppmy.cn/news/310558.html

相关文章

yolov4

目录 一&#xff1a;前言 二&#xff1a;一些数据增强的方法 三&#xff1a;自提议 四&#xff1a;dropout 普通的dropout yolov4的dropblock 五&#xff1a;Label smothing 标签平滑 六&#xff1a; GIOU&#xff0c;DIOU&#xff0c;CIOU 七&#xff1a; 对网络结构的…

科技进步:时间管理的福音还是悲歌?

科技进步&#xff1a;时间管理的福音还是悲歌&#xff1f; 近年来&#xff0c;科技的发展给人类带来了前所未有的便利。但在这般利好的背后&#xff0c;究竟是让我们更好地掌握了时间&#xff0c;还是让我们失去了对时间的控制&#xff1f;这篇博文将从多个角度对这一问题展开…

json-server操作restful

1.安装Node.js 默认已经内置npm&#xff0c;下载对应软件包直接安装即可。nodejs的官网 命令 描述 指令解释npm -v查看版本npm install <模块名>安装模块npm list查看所有全局安装的模块npm list -g查看某个模块的版本号npm install --save <模块名>在package.js…

DDD--战略设计步骤

在领域驱动设计&#xff08;Domain-Driven Design&#xff0c;DDD&#xff09;中&#xff0c;战略设计是指在系统的整体层面上考虑领域模型的组织和架构。下面是一些战略设计的详细步骤&#xff1a; 确定限界上下文&#xff08;Bounded Context&#xff09;&#xff1a;首先&a…

骨传导蓝牙耳机哪个牌子好,列举几款知名的骨传导耳机

​骨传导耳机&#xff0c;顾名思义就是通过骨头传播声音的耳机&#xff0c;由于它在声音传播方式上与传统耳机不同&#xff0c;不需要借助外耳、耳道&#xff0c;也能让耳朵更好地感受到外界的声音&#xff0c;在一些特殊场合下可以让使用者听到环境音。骨传导耳机虽然很小巧轻…

[Maven高级]->近万字文章带你深入了解Maven

⭐作者介绍&#xff1a;大二本科网络工程专业在读&#xff0c;持续学习Java&#xff0c;努力输出优质文章 ⭐作者主页&#xff1a;逐梦苍穹 ⭐所属专栏&#xff1a;JavaEE ⭐如果觉得文章写的不错&#xff0c;欢迎点个关注一键三连&#x1f609;有写的不好的地方也欢迎指正&…

CentOS6.10上离线安装ClickHouse19.9.5.36并修改默认数据存储目录

背景 在一台装有 CentOS6.10 操作系统的主机上安装 ClickHouse &#xff08;其实本来计划是先安装 Docker &#xff0c;然后在 Docker 中快速启动 ClickHouse 的&#xff0c;但是由于 CentOS6 对 Docker 支持不好&#xff0c;就直接在系统上装 ClickHouse 吧&#xff09;&…

华龙进城 一家河北农村草根起家的企业发展史(图)

资料来源&#xff1a;http://finance.sina.com.cn/leadership/case/20060515/16212568580.shtml 《商界》杂志 2005年11月27日上午&#xff0c;北京人民大会堂 “2005世界杰出华商影响力100强颁奖大会”隆重举行&#xff0c;今麦郎面业总裁范现国先生被授予“2005世界杰出华商…