it-swarm.com.de

Ändern Sie die Schriftgröße in ListView - Android/Eclipse

Wie kann ich die Schriftgröße in einem ListView-Element ändern? In meiner main.xml-Datei habe ich verschiedene Werte für Android ausprobiert: textSize (pt, px, sp, dp) und nichts scheint es zu ändern.

Hier ist was ich momentan in meiner main.xml habe:

<ListView xmlns:Android="http://schemas.Android.com/apk/res/Android"
    Android:id="@Android:id/list"
    Android:textColor="#ffffff"
    Android:background="#000080" 
    Android:layout_width="fill_parent"
    Android:layout_height="wrap_content" 
    Android:clickable="true" 
    Android:dividerHeight="1px"
    Android:layout_marginTop="5px" 
    Android:textSize="8px"/>

Hier ist mein Java:

package com.SorenWinslow.TriumphHistory;

import Android.app.ListActivity;
import Android.os.Bundle;
import Android.widget.ArrayAdapter;

public class TriumphHistory extends ListActivity {
    String[] HistoryList;

    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        ArrayAdapter<String> adapter;
        HistoryList = getResources().getStringArray(R.array.history);
        adapter = new ArrayAdapter<String> (this,Android.R.layout.simple_list_item_1,HistoryList);
        setListAdapter(adapter);
    }

}
21
Soren

2 Wege zu gehen:

  1. Kopieren Sie simple_list_item_1.xml aus Android-Quellen, ändern Sie ihn und verwenden Sie ihn anstelle von Android.R.layout.simple_list_item_1.
  2. Verwenden Sie BaseAdapter und ändern Sie die Schriftgröße im Aufruf von getView(..).

Ich würde vorschlagen, dass Sie mit letzterem gehen.

27
yanchenko

Legen Sie im Layout eine neue XML-Datei mit dem Namen mylist.xml an

<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:Android="http://schemas.Android.com/apk/res/Android" 
 Android:id="@Android:id/text1"  
        Android:paddingTop="2dip" 
        Android:paddingBottom="3dip" 
    Android:layout_width="fill_parent" 
    Android:layout_height="wrap_content" /> 

jetzt im code 

        adapter = new ArrayAdapter<String> (this,Android.R.layout.simple_list_item_1,HistoryList);

Ändern Sie es in 

        adapter = new ArrayAdapter<String> (this,R.layout.mylist,HistoryList);
57
Shereef Marzouk

Bitte erstellen Sie eine weitere Datei namens list_item.xml

<?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="6dp"
    Android:textSize="21sp">

6
Zou

Die schnelle Antwort ist, dass Sie nur die Textgröße ändern können, indem Sie Ihr eigenes Layout anstelle des Android.R.layout.simple_list_item-Layouts verwenden. Auf diese Weise können Sie die TextView-Eigenschaften wie die Textgröße ändern. Wenn Sie jedoch nicht mit Listen mit eigenen Layouts gearbeitet haben, können sie beim ersten Mal etwas komplex erscheinen. Ich werde versuchen, diese Antwort später noch einmal zu bearbeiten, um später weitere Informationen zu erhalten. Ich schlage jedoch vor, dass Sie in benutzerdefinierten Listenansichten nach Tutorials suchen. Diese zeigen Ihnen, wie Sie Ihre eigenen Layout-Dateien inflate verwenden.

0
Steve Haley

Erstellen Sie eine weitere XML-Datei für den Text, der in den Listenzeilen enthalten sein soll.

und fügen Sie einfach Android: layout_height = "? android: attr/listPreferredItemHeight" in Ihr TextView: D ein (setzen Sie es in ein relatives Layout und nicht in ein lineares Layout)

und dann verwenden Sie Ihre vorherige ListView-XML für die setContentView (R.layout.listview) 

und die andere XML-Datei in Ihrem ArrayAdapter-Code

ArrayAdapter-Adapter = new ArrayAdapter (dieser R.layout.IhrsekundenLayoutforthelistswithText, R.id.titles, HistoryList)

die R.ID.Titel ist die ID für die Textansicht

0
Vasile Surdu