Textfarbe bei ListView ändern. Wie?

M

mdolphin

Neues Mitglied
0
Ich verzweifle gerade am Thema "Styles". Ich habe in styles.xml folgende Definition eingetragen:

Code:
<!-- Listen werden wie folgt dargestellt: -->
    <style name="ListView" parent="@android:style/Widget.ListView">
       <item name="android:textSize">10sp</item>
       <item name="android:textColor">@color/listtext</item>
    </style>
@color/listtext ist natürlich in colors.xml ebenfalls definiert.

Das Ganze benutze ich in meinem Theme wie folgt:

Code:
<style name="MyTheme" parent="android:Theme.Light">  
  ...
        <item name="android:listViewStyle">@style/ListView</item>   
        ...
  </style>
Allerdings wird der Text nach wie vor leider in der Standard-Textfarbe meiner Anwendung angezeigt. Was mache ich falsch?

Schöne Grüße

Michel
 
Hallo,

wenn ich folgendes schreibe, funktioniert es tadellos:

main.xml
Code:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
    <TextView  
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content" 
        android:text="@string/hello"
        android:textColor="@color/UserRot"/>
</LinearLayout>
string.xml
Code:
<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="hello">Hello World, TestIt!</string>
    <string name="app_name">Test it</string>
    <color name="UserRot">#990000</color>
</resources>
Probier mal!

Gruß Bobert
 
Ja, das funktioniert bei mir auch. Allerdings hast Du eine TextView verwendet, da klappt das bei mir auch problemlos. Meine Frage bezog sich ja auf eine ListView. Die Farbe des Textes in der Listview entspricht bei mir leider immer der standard Textfarbe des jeweils verwendeten Themes. Ich möchte anwendungsweit einen Style für ListViews definieren, dabei aber einen der standart ListAdapter verwenden, also kein eigenes Layout für die ListViews mit XML erstellen.

Schöne Grüße

Michel
 
Hallo,

siehe auch https://www.android-hilfe.de/forum/android-app-entwicklung.9/listview-textfarbe.3336.html

Die Farbe kannst Du für die ListItem ändern, nicht aber im ListView für die Items. Du kommst somit also nicht daran vorbei die Farbe im Item zu ändern.

Was spricht dagegen es wie folgt zu machen?

Code:
public class LayoutListView extends ListActivity {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        
        setListAdapter(new ArrayAdapter<String>(this, R.layout.list_item, COUNTRIES));
        
        ListView lv = getListView();

list_item.xml
Code:
<?xml version="1.0" encoding="utf-8"?>
<TextView  xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:padding="10dp"
    android:textSize="16sp" 
    android:textColor="@color/user_Red"
    >
</TextView>

Gruß Bobert
 
  • Danke
Reaktionen: mdolphin
Ja super! Warum bin ich da nicht selber drauf gekommen! Danke vielmals.
Gruß
Michel
 
Hi,

ich habs versucht und klappt wenn ich nur einen Eintrag habe (Simple_list_item_1), aber wie machen ich es denn wenn ich (Simple_list_item_2) ersetzen will?? Wenn ich in der xml ein zweites TextView erzeuge, dann meckert Eclipse das es schon ein TextView Element gibt.

Gruße Sebastian
 

Ähnliche Themen

M
Antworten
3
Aufrufe
161
moin
M
A
Antworten
10
Aufrufe
1.021
swa00
swa00
D
Antworten
17
Aufrufe
405
datNeMo
D
Zurück
Oben Unten