2009-03-17 6 views
6

J'ai besoin de montrer un grand nombre de contrôles EditText sur un écran, dont chacun permettra seulement d'entrer 0-2 chiffres. La taille EditText par défaut est trop large pour que je puisse afficher suffisamment de contrôles EditText sur un écran, mais je n'ai pas réussi à comprendre comment les rendre plus étroites. J'ai essayé les attributs suivants dansComment rendre EditText plus petit que la valeur par défaut?

XML:

android:maxLength="2" 
android:layout_width="20dip" 
android:maxWidth="20px" 
android:ems="2" 
android:maxEms="2" 

La question est donc: comment EditText peut être plus petite que par défaut?

+0

propriété de remplissage à utiliser et petit le texte d'édition dans l'application –

Répondre

9

Essayez de cette façon à la place, montre la différence. Utilisez le layout_width avec la largeur spécifiée.

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

<EditText 
    android:width="10dip" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="@string/hello" 
    /> 

<EditText 
    android:layout_width="40dip" 
    android:layout_height="wrap_content" 
    android:text="@string/hello" 
    android:maxLength="2" 
    /> 

</LinearLayout> 

alt text http://i40.tinypic.com/2953fao.jpg

+0

Cela ressemble réellement à la largeur par défaut de moi. À quoi cela ressemble-t-il si vous n'avez que deux caractères dans l'EditText? –

+0

OK, je vois ce que tu veux dire maintenant. En l'absence de largeur spécifiée, toute la largeur du texte est utilisée par défaut jusqu'à la largeur de l'écran. – Feet

+0

Ah, j'ai compris. Mon problème était que j'avais les contrôles dans une table, et en changer un seul n'a fait aucun changement. Une fois que je les ai tous changé, j'ai vu les changements. –

4

Hé une fois que vous essayez cela, il peut fonctionner ....... android: textAppearance = "android: attr/textAppearanceSmall"

1

Si vous finissez sur cette page pour rechercher comment obtenir le même dans le code Java ..

txtSample.setFilters(new InputFilter[]{new InputFilter.LengthFilter(2)}); 
1

Lorsque dans une table, que vous décrivez, android: layout_gravity = « left » va réduire la EditText à la taille indiquée de l'EditText

Questions connexes