Changer la taille de police dans ListView-Android / Eclipse

Comment puis-je changer la taille de police d'un élément ListView? Dans ma main.fichier xml, j'ai essayé plusieurs valeurs différentes pour android:textSize (pt,px,sp,dp) et rien ne semble changer.

Voici ce que j'ai actuellement en ma main.xml:

<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"/>

Voici mon 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
demandé sur Soren 2010-03-17 19:34:02

6 réponses

2 façons de le faire:

  1. Copier simple_list_item_1.xml à partir de sources Android, modifiez - le et utilisez-le à la place de android.R.layout.simple_list_item_1;
  2. Utiliser BaseAdapter et modifier la taille de police getView(..) appel.

je vous suggère de choisir latter.

27
répondu yanchenko 2010-03-17 17:49:20

aller dans la mise en page Créer un nouveau fichier xml nommé mylist.xml

<?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" /> 

maintenant dans le code

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

modifier

        adapter = new ArrayAdapter<String> (this,R.layout.mylist,HistoryList);
57
répondu Shereef Marzouk 2011-10-24 10:32:37

veuillez créer un autre fichier nommé 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
répondu Zou 2012-06-22 07:52:01

la réponse rapide est que vous ne pouvez modifier la taille du texte qu'en utilisant votre propre mise en page plutôt que l'android.R. layout.simple_list_item. En faisant cela, vous pouvez changer les propriétés de TextView telles que la taille du texte. Cependant, si vous n'avez pas travaillé avec des listes avec vos propres mises en page, elles peuvent sembler un peu complexes à utiliser pour la première fois. Je vais essayer de revenir et éditer cette réponse pour fournir plus d'informations plus tard, mais je vous suggère de chercher des tutoriels sur les vues de liste personnalisées - qui vous montreront comment inflate vos propres fichiers de mise en page.

0
répondu Steve Haley 2010-03-17 16:59:02

Créer un autre fichier xml pour le Texte qui devrait être dans les lignes de la liste..

et juste ajouter android:layout_height="?android:attr/listPreferredItemHeight" dans votre TextView :D (et le mettre dans un relatif à la mise en page plutôt que linéaire, mise en page)

puis utilisez votre xml ListView précédent pour le setContentView (R. layout.listview)

et l'autre fichier xml dans votre ArrayAdapter

ArrayAdapter adaptateur = New ArrayAdapter (this, R. layout.votre deuxième essai pour les listes avec context, R. id.title, HistoryList)

the R. id.Title est l'id du TextView

0
répondu Vasile Surdu 2011-04-12 20:23:23
    SharedPreferences.Editor ed = mSharedPreferences.edit();
    ed.putFloat("fontTwosize", sizeTwo);
    ed.commit();

    adapterz = new LazyziyaratAdapter(MainActivity.this,
                    ziyaratList);

    listz.setAdapter(adapterz);

et dans votre méthode d'adaptateur getview

 holder.text.setTextSize(TypedValue.COMPLEX_UNIT_SP,G.mSharedPreferences.getFloat("fontTwosize", 25));
-1
répondu Hadid Graphics 2015-11-09 12:33:52