2010-12-03 54 views
6

您好我正在嘗試更改ListPreference彈出窗口中列表中項目的文本顏色。我花了一個多小時瀏覽所有各種風格的名字,但是我找不到TextAppearance或任何涉及此特定文本的內容。謝謝你的幫助!如何更改AlertDialog中列表項的文本顏色

+0

任何想法什麼是ListPreference使用的風格?我可以告訴你,我對對話框有相同的問題(背景),我發現有一個C'tor,包括一個主題作爲整數供我使用,所以我可以從原始Dialog.Theme繼承並更改我自己的屬性。 – codeScriber 2010-12-07 21:47:39

+0

不,這基本上是我的問題,我需要重寫哪種樣式才能更改`AlertDialog`的`ListView`中的文本顏色 – schwiz 2010-12-07 22:25:32

+0

由於您的問題與ListPreference有關,並且我從未做過任何事情...我不確定這會幫助你...但是,通過引用AlertDialog中的ListView,我可以幫助你。 http://www.anddev.org/code-snippets-for-android-f33/icon-list-in-alertdialog-t49975.html – androidworkz 2010-12-27 19:38:42

回答

1

你不能,你不應該。 *Preference使用com.android.internal.R.styleable的款式,可能會被製造商更改。使用默認設置的想法是設備中的每個首選項屏幕看起來都很相似。

另一方面,您可以嘗試在應用程序的AndroidManifest中嘗試使用Activityandroid:theme="@android:style/Theme.Dialog",並將ListView設置爲您想要的樣式。

-1

我真的不知道哪一種View使用ListPreference,可能是TextView。如果是這樣的話,你可以使得像下面這樣:

TextView textView; 
String myString; 
//.... 
SpannableString spanString=new SpannableString(myString); 
spanString.setSpan(new ForegroundColorSpan(Color.RED), 0, myString.length(), Spanned.SPAN_INCLUSIVE_INCLUSIVE); 
textView.setText(spanString);