ANDROID源代码(AOSP)上Settings.System.Clock_Color的定义值是多少?

时间:2011-11-03 21:56:30

标签: android android-source

我知道它存在,因为它用于应用status_bar时钟颜色,但是在哪里定义了此设置的默认值?如何更改Settings.System.Clock_Color?。 我想在状态栏中更改时钟的颜色,但我找到的解决方案都没有显示源代码。这个值定义在哪里?

1 个答案:

答案 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。因此,要更改此颜色,您应该更改主题的此值。