我的应用程序仅在HTC欲望系列手机上的片段对话框中显示白色背景上的白色字体。其他设备在白色背景上显示正确的黑色字体。如何解决此问题。请帮助。
private void adjustResourceLightness() {
// change up button to light version if using dark theme
int color = 0xFFFFFF;
getActivity().setTheme(0);
final Resources.Theme theme = getActivity().getTheme();
if (theme != null) {
TypedArray backgroundAttributes = theme.obtainStyledAttributes(
new int[]{android.R.attr.colorBackground});
if (backgroundAttributes != null) {
color = backgroundAttributes.getColor(0, 0xFFFFFF);
backgroundAttributes.recycle();
}
}
// convert to greyscale and check if < 128
if (color != 0xFFFFFF && 0.21 * Color.red(color) +
0.72 * Color.green(color) +
0.07 * Color.blue(color) < 128) {
mBtnNavUp.setImageResource(R.drawable.navigation_up_light);
mBtnCreateFolder.setImageResource(R.drawable.ic_action_create_light);
}
}
答案 0 :(得分:0)
它是htc的一个错误。您必须使用Theme.AppCompat.Light.DarkActionBar 尝试设置 在调用context.getTheme()之前的context.setTheme(0).setTo(widgetTheme)