Android 10 添加AM/PM在状态栏和锁屏

这篇博客介绍了如何在Android 10系统中更新状态栏和锁屏显示时间,增加了12小时制的AM/PM显示。通过修改`donottranslate.xml`文件的`clock_12hr_format`字符串为`hma`,以及`Clock.java`文件中调整`amPmStyle`属性,使得系统在显示时间时会包含上午下午的标识。

--- a/packages/SystemUI/res-keyguard/values/donottranslate.xml
+++ b/packages/SystemUI/res-keyguard/values/donottranslate.xml
@@ -22,7 +22,7 @@
     <string name="abbrev_wday_month_day_no_year_alarm">EEEMMMd</string>
 
     <!-- Skeleton string format for displaying the time in 12-hour format. -->
-    <string name="clock_12hr_format">hm</string>
+    <string name="clock_12hr_format">hma</string>
 
     <!-- Skeleton string format for displaying the time in 24-hour format. -->
     <string name="clock_24hr_format">Hm</string>
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/Clock.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/Clock.java
index c2c3f81..b18b24f 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/Clock.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/Clock.java
@@ -122,7 +122,7 @@ public class Clock extends TextView implements DemoMode, Tunable, CommandQueue.C
                 R.styleable.Clock,
                 0, 0);
         try {
-            mAmPmStyle = a.getInt(R.styleable.Clock_amPmStyle, AM_PM_STYLE_GONE);
+            mAmPmStyle = a.getInt(R.styleable.Clock_amPmStyle, AM_PM_STYLE_NORMAL);
             mShowDark = a.getBoolean(R.styleable.Clock_showDark, true);
             mNonAdaptedColor = getCurrentTextColor();
         } finally {

 

### 关于AM/AMAM/PM公式的定义与计算 #### AM/AM 转换 AM/AM转换描述的是输入信号振幅的变化如何影响输出信号的振幅变化。这种关系通常是非线性的,尤其是在放大器或其他非理想设备中表现得尤为显著。其数学表达形式可以通过传递函数来表示: \[ A_{out} = f(A_{in}) \] 这里 \(A_{in}\) 是输入信号的振幅,\(A_{out}\) 是输出信号的振幅,而 \(f\) 则是一个可能复杂的非线性函数[^1]。 在实际应用中,AM/AM转换常用于分析功率放大器的行为特性以及评估系统的线性非线性性能。当系统表现出明显的非线性特征时,可能会引入额外的谐波分量或交调失真,这些都会降低通信质量。 #### AM/PM 转换 AM/PM转换指的是输入信号的振幅变化引起相位偏移的现象。这一现象同样可以用一个函数来描述: \[ P_{out} = g(A_{in}) \] 其中 \(P_{out}\) 表示输出信号的相位角,\(g\) 同样可能是复杂且非线性的函数[^2]。 此效应尤其重要于高频无线通信领域,因为它可能导致载波恢复困难或者接收端解调误差增大等问题。因此,在设计高性能射频前端电路时,必须仔细考虑并尽量减少此类非线性失真的发生。 以下是简单的Python代码片段展示了一个假设情况下的AM/AMAM/PM转换模拟过程: ```python import numpy as np import matplotlib.pyplot as plt def am_am_conversion(input_amp): """Simulates an example of AM/AM conversion.""" output_amp = input_amp ** 2 / (input_amp + 1e-6) return output_amp def am_pm_conversion(input_amp, k=0.1): """Simulates an example of AM/PM conversion with a constant factor 'k'.""" phase_shift = k * input_amp return phase_shift # Generate test data points. amps = np.linspace(0, 5, num=100) output_amps = am_am_conversion(amps) phase_shifts = am_pm_conversion(amps) plt.figure(figsize=(12, 6)) plt.subplot(1, 2, 1) plt.plot(amps, output_amps, label="Output Amplitude", color='blue') plt.title("AM/AM Conversion Example") plt.xlabel("Input Amplitude") plt.ylabel("Output Amplitude") plt.subplot(1, 2, 2) plt.plot(amps, phase_shifts, label="Phase Shift", color='green') plt.title("AM/PM Conversion Example") plt.xlabel("Input Amplitude") plt.ylabel("Phase Shift (radians)") plt.tight_layout() plt.show() ``` 上述脚本通过自定义函数分别实现了基本型态下两种不同类型的转换效果演示,并利用Matplotlib库进行了可视化呈现。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值