当前位置: 首页 > news >正文

成都旅游必去推荐优化的含义

成都旅游必去推荐,优化的含义,江苏省住房和城乡建设厅官方网站,如何制作公司官网Android 原生设计中在锁屏界面会显示运营商名称,用户界面中,大概是基于 icon 数量长度显示考虑,对运营商名称不作显示。但是国内基本都加上运营商名称。对图标显示长度优化基本都是:缩小运营商字体、限制字数长度、信号图标压缩上…

Android 原生设计中在锁屏界面会显示运营商名称,用户界面中,大概是基于 icon 数量长度显示考虑,对运营商名称不作显示。但是国内基本都加上运营商名称。对图标显示长度优化基本都是:缩小运营商字体、限制字数长度、信号图标压缩上下叠加等。

SIM卡的 icon 对应的文件是 StatusBarMobileView,默认包含信号格、漫游、网络制式、上下行等图标。只需要在默认基础上,添加运营商名称View。

 一、添加运营商名称view

在信号格后面增加运营商名称,System中对文字图标显示自定义 AutoMarqueeTextView 类(主要增加跑马灯和省略号的样式自动切换)处理,我们使用 AutoMarqueeTextView 显示名称即可。

//frameworks/base/packages/SystemUI/res/layout/status_bar_mobile_signal_group.xml<FrameLayoutandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="center_vertical"><com.android.systemui.statusbar.AnimatedImageViewandroid:id="@+id/mobile_signal"android:layout_height="wrap_content"android:layout_width="wrap_content"systemui:hasOverlappingRendering="false"/><ImageViewandroid:id="@+id/mobile_roaming"android:layout_width="wrap_content"android:layout_height="wrap_content"android:src="@drawable/stat_sys_roaming"android:contentDescription="@string/data_connection_roaming"android:visibility="gone" /></FrameLayout><com.android.systemui.util.AutoMarqueeTextViewandroid:id="@+id/qs_carrier_text"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_weight="1"android:textAppearance="@style/TextAppearance.QS.Status"android:textDirection="locale"android:textSize="8dp"android:marqueeRepeatLimit="marquee_forever"android:singleLine="true"android:maxEms="4"/>

然后调整好文字大小和长度适配。

二、对网络制式、上下行漫游图标长度压缩

默认图标都是从左到右排序的,这样会导致整体icon太长,状态栏放不下,从而导致icon被收到省略号中无法显示。

//frameworks/base/packages/SystemUI/res/layout/status_bar_mobile_signal_group.xml<com.android.keyguard.AlphaOptimizedLinearLayoutandroid:id="@+id/mobile_group"android:layout_width="wrap_content"android:layout_height="match_parent"android:gravity="center_vertical"android:orientation="horizontal" ><ImageViewandroid:id="@+id/mobile_volte"android:layout_height="wrap_content"android:layout_width="wrap_content"android:visibility="gone"android:paddingEnd="2dp"/><LinearLayoutandroid:layout_width="wrap_content"android:layout_height="match_parent"android:orientation="vertical"><FrameLayoutandroid:layout_height="10dp"android:layout_width="10dp"><ImageViewandroid:id="@+id/mobile_type"android:layout_height="wrap_content"android:layout_width="wrap_content"android:layout_marginTop="1dp"android:visibility="gone" /></FrameLayout><FrameLayoutandroid:id="@+id/inout_container"android:layout_height="10dp"android:layout_width="10dp"android:layout_gravity="center_horizontal"><ImageViewandroid:id="@+id/mobile_in"android:layout_height="10dp"android:layout_width="10dp"android:src="@drawable/ic_activity_down"android:visibility="gone"/><ImageViewandroid:id="@+id/mobile_out"android:layout_height="10dp"android:layout_width="10dp"android:src="@drawable/ic_activity_up"android:visibility="gone"/></FrameLayout></LinearLayout><Spaceandroid:id="@+id/mobile_roaming_space"android:layout_height="match_parent"android:layout_width="0dp"android:visibility="gone"/>

把子view直接的space都设置为0,再把4g图标和上下行图标缩小放到一列中。

 三、 运营商名称显示

获取运营商名称接口常用有两种

SubscriptionInfo.getCarrierName()
SubscriptionInfo.getDisplayName()

区别在第一种显示的内容更多,类似:CHN-CT中国电信。这里一般只想显示中国电信,使用第二个方法就行。

//frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/StatusBarMobileView.javaprivate DualToneHandler mDualToneHandler;private ImageView mVolte;
+    private TextView mCarrierText;
+    private SubscriptionManager mSubscriptionManager;public static StatusBarMobileView fromContext(Context context, String slot) {LayoutInflater inflater = LayoutInflater.from(context);
@@ -80,6 +85,7 @@public StatusBarMobileView(Context context, AttributeSet attrs) {super(context, attrs);
+        mSubscriptionManager = SubscriptionManager.from(context);}public StatusBarMobileView(Context context, AttributeSet attrs, int defStyleAttr) {
@@ -113,6 +119,9 @@mOut = findViewById(R.id.mobile_out);mInoutContainer = findViewById(R.id.inout_container);mVolte = findViewById(R.id.mobile_volte);
+        mCarrierText = findViewById(R.id.qs_carrier_text);
+        mCarrierText.setText("");mMobileDrawable = new SignalDrawable(getContext());mMobile.setImageDrawable(mMobileDrawable);
@@ -159,6 +168,11 @@setVisibility(View.INVISIBLE);requestLayout();}
+        SubscriptionInfo subscriptionInfo = mSubscriptionManager.getActiveSubscriptionInfo(mState.subId);
+        if (subscriptionInfo != null) {
+            CharSequence cName = subscriptionInfo.getDisplayName();
+            mCarrierText.setText(cName);
+        }}private void initViewState() {
@@ -194,6 +208,11 @@}else {mVolte.setVisibility(View.GONE);}
+        SubscriptionInfo subscriptionInfo = mSubscriptionManager.getActiveSubscriptionInfo(mState.subId);
+        if (subscriptionInfo != null) {
+            CharSequence cName = subscriptionInfo.getDisplayName();
+            mCarrierText.setText(cName);
+        }}

StatusBarMobileView 中动态获取刷新运营商名称。针对状态栏中icon颜色,设计是有要求的,需要根据背景的变化进行适应。在浅色背景显示深色,深色背景显示浅色,有一定对比度才行。

//frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/StatusBarMobileView.javaprivate boolean updateState(MobileIconState state) {
@@ -258,6 +277,8 @@mMobileRoaming.setImageTintList(color);mDotView.setDecorColor(tint);mDotView.setIconColor(tint, false);
+        int foreground = mDualToneHandler.getSingleColor(intensity);
+        mCarrierText.setTextColor(foreground);}@Override
@@ -288,6 +309,7 @@@Overridepublic void setDecorColor(int color) {mDotView.setDecorColor(color);
+        mCarrierText.setTextColor(color);}

四、隐藏原生锁屏界面运营商显示

原生设计会在锁屏界面只显示SIM卡运营商。状态栏增加自定义的显示后,锁屏界面可以删除。对应 View 

frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardStatusBarView.java

中的 mCarrierLabel ,设置隐藏即可。

http://www.tj-hxxt.cn/news/70098.html

相关文章:

  • 太原网站推广排名nba
  • 深圳市中心房价seo搜索引擎优化招聘
  • 瑞昌市建设局网站qq群推广平台
  • 石家庄 做网站百度开放云平台
  • 如何靠做网站赚钱吗全媒体广告代理
  • 个人网站空间购买谷歌收录提交入口
  • 大连今日刚刚发生的重大新闻seo公司多少钱
  • 图片网站制作谷歌搜索引擎镜像入口
  • 网站怎么做sem网站seo查询
  • 上海做网站哪家公司好网络安全培训机构哪家好
  • 河北公司网站开发万网域名查询工具
  • 建筑设计网站 知乎账号seo是什么
  • 搜不到自己的网站衡水网站优化推广
  • 织梦网站导航浮动公司怎么在百度上推广
  • 网站免费建站什么是seo如何进行seo
  • 白酒网站源码seo关键词查询工具
  • 为赌博网站做推广百度影响力排名顺序
  • 网站出现乱码全国疫情实时资讯
  • 网线水晶头接法图解零基础seo入门教学
  • 教育培训网站建设佛山百度推广公司
  • 政府网站建设的战略买卖交易平台
  • 中文购物网站模板网站优化推广平台
  • 西宁企业做网站网络公司推广公司
  • 牛商网做网站要多少钱济南网站优化
  • 做药公司的网站前置审批友情链接的网站
  • 做网站的开发软件是什么网站建设公司推荐
  • 深圳自适应网站建设欧洲站fba
  • 一台云服务器做多个网站想学销售去哪培训
  • 安网站建设公司现在最火的发帖平台
  • 河南哪里网站建设公司0元免费做代理