我知道它存在,因为它用于应用status_bar时钟颜色,但是在哪里定义了此设置的默认值?如何更改Settings.System.Clock_Color?。 我想在状态栏中更改时钟的颜色,但我找到的解决方案都没有显示源代码。这个值定义在哪里?
答案 0 :(得分:1)
在文件frameworks/base/packages/SystemUI/res/layout/status_bar.xml
中,有一个状态栏布局的定义。你可以在其中找到时钟的定义:
<com.android.systemui.statusbar.Clock
android:textAppearance="@*android:style/TextAppearance.StatusBar.Icon"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:singleLine="true"
android:paddingRight="6dip"
android:gravity="center_vertical|left"
/>
时钟样式是对文件frameworks/base/core/res/res/values/styles.xml
的引用,其中样式按以下方式定义:
<!-- Status Bar Styles -->
<style name="TextAppearance.StatusBar">
<item name="android:textSize">14sp</item>
<item name="android:textStyle">normal</item>
<item name="android:textColor">?android:attr/textColorPrimary</item>
</style>
<style name="TextAppearance.StatusBar.Ticker">
</style>
<style name="TextAppearance.StatusBar.Title">
<item name="android:textStyle">bold</item>
</style>
<style name="TextAppearance.StatusBar.Icon">
<item name="android:textStyle">bold</item>
</style>
有?android:attr/textColorPrimary
的引用。我found这意味着:
例如, 假设您想要将链接颜色更改为Android用于纯文本的颜色,但是 你不知道那种颜色的价值。此外,不显示主要文本颜色 作为颜色资源,因为它是可变的;它随主题而变化。
所以这意味着你的时钟颜色取决于主题的textColorPrimary。因此,要更改此颜色,您应该更改主题的此值。