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);
}
}
6 réponses
2 façons de le faire:
- Copier
simple_list_item_1.xml
à partir de sources Android, modifiez - le et utilisez-le à la place deandroid.R.layout.simple_list_item_1
; - Utiliser
BaseAdapter
et modifier la taille de policegetView(..)
appel.
je vous suggère de choisir latter.
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);
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">
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.
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
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));