2013-07-11 5 views
2

Ceci est mon EditText:Comment séparer la position du curseur editText de la position d'android: hint?

<EditText 
     android:id="@+id/note" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:layout_centerHorizontal="true" 
     android:layout_centerVertical="true" 
     android:gravity="center" 
     android:cursorVisible="false" 
     android:inputType="textMultiLine" 
     android:lines="25" 
     android:scrollHorizontally="false" 
     android:hint="Type note here" /> 

La position de l'indice est au centre et je l'ai réalisé que l'utilisation android: gravité = "center". Je veux que mon texte soit inscrit en haut à gauche, mais cela ne se produit pas à cause de la gravité. Est-ce que je peux faire les deux?

Répondre

0

vous pouvez suivre lorsque le texte est saisie à l'aide d'un TextWathcer puis changer la gravité de votre TextView à votre choix un:

textEdit.addTextChangedListener(new TextWatcher(){ 

    @Override 
    public void afterTextChanged(Editable editable) 
    { 
    } 

    @Override 
    public void beforeTextChanged(CharSequence text, int start, int count, int after) 
    { 

    } 

    @Override 
    public void onTextChanged(CharSequence arg0, int start, int before, int count) 
    { 
     textEdit.setGravitiy("to what ever you want"); 
    } 

}); 

vous pouvez vérifier si le edittext est vide ou pas avant de faire ces changements .

+0

Il fonctionne quand se fait dans le onTextChange() au lieu du beforeTextChanged() le editText.setGravity() .. Merci quand même! – surbian

0

Vous pouvez le faire par programmation en changeant la gravité du EditText quand on clique dessus. Exemple (pas sûr que cela fonctionne exactement, ne pas testé):

editText = (EditText) findViewById(R.id.note); 
editText.setOnClickListener(new View.OnClickListener() { 
    @Override 
    public void onClick(View v) { 
     v.setGravity(Gravity.LEFT); 
    } 

}); 
+0

J'ai essayé de changer de programme comme vous l'avez mentionné, mais cela ne fonctionne pas. – surbian

+0

Cela fonctionne avec 'onTouchListener()' – surbian

Questions connexes