【发布时间】:2017-06-15 15:00:11
【问题描述】:
有谁知道 xml 主题/样式中的哪个参数负责 PreferenceScreen 弹出窗口中文本的颜色? 举例说明:
文本颜色是黑色的,所以我尝试过的样式属性没有影响它。这个背景是白色的,但后来我想把它改成深色的,我也需要改变文本的颜色。
PreferenceScreen 片段。
public final class SettingsFragment extends PreferenceFragment {
@Override
public void onCreate(Bundle savedInstanceState) {
// setting style of the preference screen
this.getActivity().setTheme(R.style.Theme_Preference_Screen);
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.preferences);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = super.onCreateView(inflater, container, savedInstanceState);
// I'm setting background color to make cover for activity behind preference screen
if (view != null) {
view.setBackgroundColor(ContextCompat.getColor(this.getActivity(), R.color.colorNavyBlue));
}
return view;
}
我分配给偏好屏幕的样式。在
<style name="Theme_Preference_Screen" parent="Theme.AppCompat.DayNight.NoActionBar">
<item name="colorPrimary">@color/colorJewel</item>
<item name="colorPrimaryDark">@color/colorVoid</item>
<item name="colorAccent">@color/colorFuschia</item>
<item name="android:background">@color/colorVoid</item>
<item name="android:textColor">@color/colorStark</item>
<item name="android:listDivider">@color/colorStark</item>
<item name="android:editTextColor">@color/colorStark</item>
<item name="colorButtonNormal">@color/colorJewel</item>
<item name="android:textColorSecondary">@color/colorStark</item>
<item name="android:actionMenuTextColor">@color/colorStark</item>
<item name="android:textColorAlertDialogListItem">@color/colorStark</item>
<item name="android:textColorHighlight">@color/colorStark</item>
<item name="android:textColorHint">@color/colorStark</item>
<item name="android:keyTextColor">@color/colorStark</item>
<item name="android:textAppearanceLargePopupMenu">@color/colorStark</item>
<item name="android:textAppearanceSmallPopupMenu">@color/colorStark</item>
<item name="android:textColorLink">@color/colorStark</item>
</style>
【问题讨论】: