2016-07-06 44 views
2

在我的Android應用程序中,我正在將我的應用程序遷移到「com.android.support:preference-v14:23.4.0」用於我的設置屏幕。我正在使用Theme.appCompat主題。在Android 6手機上一切正常。分隔線在Android 5和Android 4手機上不正確

但是在Android 5和Android 4手機上,我注意到分隔線是彩色的「黑色」。當我使用黑暗主題時,它們應該是白色的(帶有一些字母)。這是Android 6手機的情況,但不適用於Android 5和Android 4.

我嘗試了很多改變分隔線的顏色,但無法做到這一點。我也喜歡在互聯網上的解決方案,但似乎沒有工作。有人可以幫我這個

回答

2

您可以使用PreferenceFragmentCompat類提供的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); 
} 
1

似乎你正在使用Android 6和Android 5(和4)不同的主題。 你檢查過了嗎?

+0

謝謝您的回答。我爲所有人使用相同的主題,因爲現在我只有一個styles.xml文件。 – Sushil

+0

你使用的主題是什麼?例如材料僅適用於Android 5.0或更高版本 –

+0

主題的父項爲Theme.AppCompat。確實材料是在Android 5.0及以上版本中引入的。這就是爲什麼我使用appcompat librray來支持較低版本的marerial設計。大多數的材料設計主題看起來都很好,但分隔線不太好。 – Sushil