2010-12-03 8 views
6

Hallo Ich versuche, die Textfarbe der Elemente in einer Liste zu ändern, auf einem ListPreference Fenster. Ich habe über eine Stunde damit verbracht, alle verschiedenen Stilnamen durchzusehen, aber ich kann weder TextAppearance noch irgendetwas anderes finden, was zu diesem speziellen Text gehört. Danke für Ihre Hilfe!Wie ändern Sie die Textfarbe der Listenelemente in einer Alertdialog

+0

eine Ahnung, was der Stil für die ListPreference zu bedienen? Ich kann Ihnen sagen, ich hatte das gleiche Problem mit Dialogen (Hintergrund) und ich fand, dass es ein C'tor gibt, das ein Thema als int für mich enthält, damit ich vom ursprünglichen Dialog.Theme erben und meine eigenen Eigenschaften ändern konnte. – codeScriber

+0

Nein, das ist im Grunde meine Frage, was Stil, den ich um außer Kraft zu setzen brauche die Textfarbe im 'ListView' für ein' AlertDialog' – schwiz

+0

Da Ihre Frage zu ändern, mit ListPreference zu tun hat, und ich habe noch nie mit, dass etwas getan ... ich bin mir nicht sicher, ob dir das weiterhilft ... allerdings kann ich dir in Bezug auf einen ListView in einem AlertDialog helfen. http://www.anddev.org/code-snippets-for-android-f33/icon-list-in-alertdialog-t49975.html – androidworkz

Antwort

1

Sie können nicht und Sie sollten nicht. *Preference verwendet Stile von com.android.internal.R.styleable, die von Herstellern geändert werden können. Die Idee, die Standardeinstellungen zu verwenden, ist, dass jeder Einstellungsbildschirm in Ihrem Gerät gleich aussieht.

Auf der anderen Seite können Sie eine Activity mit android:theme="@android:style/Theme.Dialog" in Ihrer App AndroidManifest und legen Sie eine ListView Versuchen Sie, gestylt wie Sie wollen.

+0

Ich habe das Thema nicht auf die Voreinstellung selbst angewendet, sondern auf den AlertDialog. Theme sieht gut aus auf allen anderen AlertDialogs, aber der unglückliche Nebeneffekt ist, dass 'ListPreference' auch einen' AlertDialog' verwendet, so dass ich jetzt meinen dunklen Hintergrund habe und der Text nicht lesbar ist. Ich kann einen Sonderfall Stil machen für meine 'PreferenceActivity', die nicht den' AlertDialog' Thema nicht außer Kraft setzen, aber es wäre schön, wenn es den Rest der App passen könnte .. – schwiz

+0

Wenn Sie das Thema ändern, erstellen Sie einfach eine neue Aktivität mit Theme.Dialog Stil und tun, was Sie wollen in ihm. – Macarse

+0

Preference.DialogPreference ist der Stil des Parents von ListPreference, da es sich nicht um einen direkten Stil der ListPreference handelt. Sie können diesen spezifischen Stil im Design überschreiben und auf alle Aktivitäten anwenden. Dies wirkt sich nicht auf alle AlertDialogs aus. – codeScriber

-1

Ich weiß nicht wirklich welche Art von View verwenden, wahrscheinlich ist es so etwas wie TextView. Wenn ja, könnte man etw machen:

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); 
+0

nicht dies nicht die Antwort ist, zunächst einmal, wie würden Sie selbst eine bekommen Verweis auf die 'TextView' Ich suche nach einer Möglichkeit, dies durch Stile zu beheben. Vielen Dank. – schwiz