2010-12-03 52 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);