2010-08-31 4 views
45

Mon EditText configuré comme suit ne montrera pas l'indice:indice EditText ne montre pas

<EditText 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:gravity="right" 
    android:hint="The hint..." 
    android:scrollHorizontally="true" 
    android:singleLine="true" /> 

Il fonctionne si je mets android:gravity="left" ou si je supprime les attributs android:scrollHorizontally et android:singleLine, ce qui est pas souhaitable. Aucune suggestion?

+4

Je peux confirmer que 'editText' ne montre pas l'indication quand' 'gravity' est center' ou' 'right' et singleLine' est réglé. Je suis également à la recherche d'une solution. – Justin

+2

Je ne peux plus modifier mon dernier commentaire, mais je voulais mentionner que c'est un problème connu: http://code.google.com/p/android/issues/detail?id=7252 – Justin

Répondre

2

Pas besoin de l'attribut android:scrollHorizontally. Retirez-le. EditText est un élément fixe sur l'écran. nous voulons faire défiler la mise en page contient le EditText est suffisant. C'est le meilleur design aussi. vous avez mis android:ellipsize="end" au lieu de android:scrollHorizontally.

+1

Non, ce n'est pas ça. Si vous lisez la documentation http://developer.android.com/reference/android/R.styleable.html#TextView_scrollHorizontally, lorsque le texte que vous tapez ne rentre pas dans le champ, l'attribut android: scrollHorizontally permet au texte de défiler dans le champ. champ (pas de barres de défilement bien sûr). Cela n'a rien à voir avec le défilement de la mise en page. – venuko

17

Je voulais que ma boîte à simple ligne EditText défile mais garde le conseil sur la droite aussi. J'ai eu le même problème et j'ai eu l'indice de rester en gardant gravity="right", et en réglant singleLine="true" et ellipsize="end".

70

en utilisant android:ellipsize="end" l'a corrigé pour moi Weird bug !! (mais Android a beaucoup de ces bug weirdo)

+0

après avoir ajouté ce TAG je peux voir indice dans Emulator mais toujours pas de chance avec Real Device (par exemple sony ericsson xperia) – swiftBoy

+0

"android: ellipsize" propriété fonctionne pour moi .. étrange ...! – Vishal

1

Voici comment, j'ai fait pour EditText pour avoir un indice dedans.

<EditText 
    android:id="@+id/productQuantity" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:gravity="right|center_vertical" 
    android:hint="@string/quantity" 
    android:inputType="numberSigned" 
    android:ellipsize="end" 
    android:singleLine="true" > 
</EditText> 

Screenshot of what the above code should look like

2

utilisant android: ellipsize = "end" résout le bug de la plate-forme évidente. Malheureusement, Xperias encore se conduisent mal :(

Je trouve pas d'autre solution que de:

if (android.os.Build.MANUFACTURER.matches(".*[Ss]ony.*")) 
     editText.setGravity(Gravity.LEFT); 
else 
     editText.setGravity(Gravity.CENTER); 
1

Le dessous a fonctionné pour moi:

<EditText 
    android:id="@+id/UserText" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentLeft="true" 
    android:layout_alignParentTop="true" 
    android:layout_alignRight="@+id/UserPassword" 
    android:layout_marginTop="85dp" 
    android:ems="10" 
    android:hint="@string/UserHint" 
    android:inputType="textPersonName" 
    android:singleLine="true" 
    android:text="@string/UserName" > 

    <requestFocus /> 
</EditText> 
41

Dans la version Lollipop la couleur du texte par défaut et le texte de soupçon est blanc pour EditText. nous devons donc changer comme ça dans EditText

android:textColorHint="@color/grey" 
+4

cela a fonctionné dans mon cas –

+2

Cela a fonctionné pour moi aussi – allemattio

+1

A travaillé pour moi. Comportement étrange. Une seule de mes applications a eu ce problème, mais résolu par ceci. Je me demande ce qui se passe vraiment derrière. – March3April4

1

Vous devez donner la couleur du texte à laisser entendre

android:textColorHint="#000000" 
+0

Ce n'est pas suffisant pour Android 2.3 (j'ai testé sur HTS Desire S). Aussi devrait ajouter android: ellipsize = "end". – CoolMind