在白色背景的白色字体在对话仅在HTC欲望系列

时间:2015-07-13 05:17:15

标签: android

我的应用程序仅在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);
            }
        }

1 个答案:

答案 0 :(得分:0)

它是htc的一个错误。您必须使用Theme.AppCompat.Light.DarkActionBar 尝试设置 在调用context.getTheme()之前的context.setTheme(0).setTo(widgetTheme)