如何将文本颜色与通知颜色条匹配?

时间:2011-11-02 15:42:24

标签: android colors notifications themes android-notification-bar

我的应用程序使用白色字体,在我的手机上有黑色主题。 但在其他手机上,通知栏颜色和菜单背景颜色为白色或浅色。有没有办法(除了给用户提供在应用程序设置中选择颜色的选项),以了解哪种颜色或暗/亮主题使用手机并匹配字体颜色?

2 个答案:

答案 0 :(得分:4)

使用通知并使用内置方法设置文本时,以下行会创建布局:

RemoteViews contentView = new RemoteViews(context.getPackageName(),
        com.android.internal.R.layout.status_bar_latest_event_content);

上述布局包含以下View,负责查看通知文本:

<TextView android:id="@+id/text"
    android:textAppearance="@style/TextAppearance.StatusBar.EventContent"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_weight="1"
    android:singleLine="true"
    android:ellipsize="marquee"
    android:fadingEdge="horizontal"
    android:paddingLeft="4dp"
    />

所以结论是所需的样式是TextAppearance.StatusBar.EventContent,其定义如下:

<style name="TextAppearance.StatusBar.EventContent">
    <item name="android:textColor">#ff6b6b6b</item>
</style>

你应该注意到这种风格实际上并没有引用任何内置颜色,所以最安全的方法是应用这种风格而不是一些内置颜色。

答案 1 :(得分:0)

我使用android:textAppearance =&#34; @ style / TextAppearance.AppCompat.Notification.Title&#34;为我工作