2017-06-15 190 views
2

有誰知道xml主題/樣式中的哪個參數負責PreferenceScreen彈出窗口中文本的顏色? 要ilustrate:Android,首選項屏幕彈出窗口文本顏色

texts which I want to change, background white, color black

文字顏色是黑色的,所以這是由我試圖樣式屬性不變。這個背景是白色的,但後來我想把它改成黑暗的東西,我也需要改變文字的顏色。

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; 
} 

我分配給首選項屏幕的樣式。在<項目名稱=「colorButtonNormal」> @ color/colorJewel </item>休息是多餘的,但我想留在這裏,所以你可以看到哪一個是我試過的。

<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> 

回答

0

我僅通過改變ListPreference(例如,在R.xml.preference)至com.afollestad.materialdialogs.prefs.MaterialListPreference from Material-dialogs liberary成功。然後彈出窗口從我的主題中挑選出背景顏色。