1. Nimm jetzt an unserem Uhans - 3. ADVENT - Gewinnspiel teil - Alle Informationen findest Du hier!

Textfarbe bei ListView ändern. Wie?

Dieses Thema im Forum "Android App Entwicklung" wurde erstellt von mdolphin, 10.12.2010.

  1. mdolphin, 10.12.2010 #1
    mdolphin

    mdolphin Threadstarter Neuer Benutzer

    Beiträge:
    10
    Erhaltene Danke:
    0
    Registriert seit:
    25.11.2010
    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
     
  2. Bobert, 10.12.2010 #2
    Bobert

    Bobert Erfahrener Benutzer

    Beiträge:
    161
    Erhaltene Danke:
    15
    Registriert seit:
    21.11.2010
    Phone:
    Nexus S
    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
     
  3. mdolphin, 11.12.2010 #3
    mdolphin

    mdolphin Threadstarter Neuer Benutzer

    Beiträge:
    10
    Erhaltene Danke:
    0
    Registriert seit:
    25.11.2010
    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
     
  4. Bobert, 11.12.2010 #4
    Bobert

    Bobert Erfahrener Benutzer

    Beiträge:
    161
    Erhaltene Danke:
    15
    Registriert seit:
    21.11.2010
    Phone:
    Nexus S
    Hallo,

    siehe auch http://www.android-hilfe.de/android-app-entwicklung/3336-listview-textfarbe.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
     
    mdolphin bedankt sich.
  5. mdolphin, 13.12.2010 #5
    mdolphin

    mdolphin Threadstarter Neuer Benutzer

    Beiträge:
    10
    Erhaltene Danke:
    0
    Registriert seit:
    25.11.2010
    Ja super! Warum bin ich da nicht selber drauf gekommen! Danke vielmals.
    Gruß
    Michel
     
  6. r4in, 07.06.2011 #6
    r4in

    r4in Android-Hilfe.de Mitglied

    Beiträge:
    88
    Erhaltene Danke:
    3
    Registriert seit:
    16.09.2010
    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
     

Diese Seite empfehlen

Besucher kamen mit folgenden Begriffen auf unsere Seite:

  1. textfarbe ändern android

    ,
  2. item text listview farbe ändern