Android 5 和 Android 4 手机上的分隔线不正确

Divider lines are not correct on Android 5 and Android 4 phones

在我的 android 应用程序中,我正在将我的应用程序迁移到 "com.android.support:preference-v14:23.4.0" 我的设置屏幕。我正在使用 Theme.appCompat 主题。在 Android 6 部手机上一切正常。

但是在 Android 5 和 Android 4 手机上,我注意到分隔线的颜色是 "black"。因为我使用深色主题,所以它们应该是白色的(带有一些 alpha)。 Android 6 手机是这种情况,但 Android 5 和 Android 4 不是。

我尝试了很多方法来改变分隔线的颜色,但都做不到。我也在互联网上寻找解决方案,但似乎没有任何效果。谁能帮我解决这个问题

您似乎为 Android 6 和 Android 5(和 4)使用了不同的主题。 你查过这个吗?

您可以使用PreferenceFragmentCompatclass提供的setDivider方法。这将改变分隔线的样式。 但是要使用该方法,您需要确保已创建视图,否则您将收到 nullPointer 错误。 最好的方法是更改​​ onViewCreated 中的样式。

示例:

@Override
public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
    super.onViewCreated(view, savedInstanceState);
    setDividerStyle();
}

private void setDividerStyle() {
    ColorDrawable test  = new ColorDrawable(getActivity().getResources().getColor(R.color.your color));
    setDivider(test);
    setDividerHeight(1);
}