【发布时间】:2018-03-11 03:09:10
【问题描述】:
我想定义通知界面,因为在某些手机中通知背景颜色是白色的,而在其他手机中是深色的。我想检查背景颜色是什么,以便选择不同的布局。
在android N之前,我的代码是这样的:
原理是检查默认contentView标题和内容TextView颜色。但是在android N之后,默认的contentView是null。
通知#build:
public Notification build() {
if (mContext.getApplicationInfo().targetSdkVersion < Build.VERSION_CODES.N
&& (useExistingRemoteView())) {
if (mN.contentView == null) {
mN.contentView = createContentView();
mN.extras.putInt(EXTRA_REBUILD_CONTENT_VIEW_ACTION_COUNT,
mN.contentView.getSequenceNumber());
}
if (mN.bigContentView == null) {
mN.bigContentView = createBigContentView();
if (mN.bigContentView != null) {
mN.extras.putInt(EXTRA_REBUILD_BIG_CONTENT_VIEW_ACTION_COUNT,
mN.bigContentView.getSequenceNumber());
}
}
if (mN.headsUpContentView == null) {
mN.headsUpContentView = createHeadsUpContentView();
if (mN.headsUpContentView != null) {
mN.extras.putInt(EXTRA_REBUILD_HEADS_UP_CONTENT_VIEW_ACTION_COUNT,
mN.headsUpContentView.getSequenceNumber());
}
}
}
if ((mN.defaults & DEFAULT_LIGHTS) != 0) {
mN.flags |= FLAG_SHOW_LIGHTS;
}
return mN;
}
所以我的问题是:Android N之后如何判断通知背景颜色是深还是白?
【问题讨论】:
-
您是否只是想获取默认背景颜色以便设置文本颜色?
-
是的,你是对的
标签: android colors notifications background