Android 11.0 锁屏页面时钟显示样式 您所在的位置:网站首页 苹果手机锁屏时钟样式设置 Android 11.0 锁屏页面时钟显示样式

Android 11.0 锁屏页面时钟显示样式

2024-07-16 20:48| 来源: 网络整理| 查看: 265

一.需求分析

Android 11.0系统默认的锁屏时钟 年月日 显示的样式不符合需求,现在需要定制化.下图是系统默认的时间样式.

 

 

目标是改成这样:

二.核心代码路径

frameworks/base/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardSliceProvider.java framewors/base/core/res/res/values/donottranslate.xml frameworks/base/packages/SystemUI/res/values/donottranslate.xml

三.核心代码分析

(1)frameworks/base/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardSliceProvider.java 中,设置时间样式.

public boolean onCreateSliceProvider() { mContextAvailableCallback.onContextAvailable(getContext()); inject(); synchronized (KeyguardSliceProvider.sInstanceLock) { KeyguardSliceProvider oldInstance = KeyguardSliceProvider.sInstance; if (oldInstance != null) { oldInstance.onDestroy(); } //时间样式 mDatePattern = getContext().getString(R.string.system_ui_aod_date_pattern); mPendingIntent = PendingIntent.getActivity(getContext(), 0, new Intent(getContext(), KeyguardSliceProvider.class), 0); mMediaManager.addCallback(this); mStatusBarStateController.addCallback(this); mNextAlarmController.addCallback(this); mZenModeController.addCallback(this); KeyguardSliceProvider.sInstance = this; registerClockUpdate(); updateClockLocked(); } return true; }

(2)查看 R.string.system_ui_aod_date_pattern

frameworks/base/packages/SystemUI/res/values/donottranslate.xml

@*android:string/system_ui_date_pattern EEEMMMd

(3)查看值为 @*android:string/system_ui_date_pattern 定义的地方

framewors/base/core/res/res/values/donottranslate.xml

true square EEEMMMMd @string/icu_abbrev_wday_month_day_no_year candidates

可以看到,

EEEMMMMd

(4) 所以,我们可以在这里修改,指定需要的格式为: a eeee MMMd 

@*android:string/system_ui_date_pattern - EEEMMMd + a eeee MMMd

其中:

eeeMMMMd: "d" : 年月日星期几中的“日”; “eee” : 年月日星期几中的“星期几”; “MMMM” : 年月日星期几中的“月”;

The end!



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有