我的应用程序使用白色字体,这在我的黑色主题手机上是可以的。但在其他手机上,通知栏颜色和菜单背景颜色为白色或浅色。有没有办法(除了让用户在应用程序设置中选择颜色)来了解手机使用哪种颜色或深色/浅色主题并匹配字体颜色?
问问题
7386 次
2 回答
4
当您使用 Notification 并使用内置方式设置文本时,以下行将创建布局:
RemoteViews contentView = new RemoteViews(context.getPackageName(),
com.android.internal.R.layout.status_bar_latest_event_content);
提到的布局包含以下负责查看通知文本的视图:
<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>
您应该在此处注意,此样式实际上并未引用任何内置颜色,因此最安全的方法是应用此样式而不是某些内置颜色。
于 2011-11-02T16:30:40.563 回答
0
我使用 android:textAppearance="@style/TextAppearance.AppCompat.Notification.Title" 为我工作
于 2016-11-22T13:52:35.377 回答