9

sto cercando di fare qualcosa su queste linee:Visualizza Helper sotto EditText insieme al suggerimento

EditText example

Sono in grado di mostrare il suggerimento utilizzando android:hint="Email Address" ma in grado di mostrare il testo helper - Questo sarà il nome utente e-mail

<android.support.design.widget.TextInputLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content"> 

     <EditText 
      android:id="@+id/et_username" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:ems="15" 
      android:hint="Username" 
      app:et_helper="Username is preferably your registered email"/> 

    </android.support.design.widget.TextInputLayout>` 

Quello che sto ottenendo è solo e non Nome utente è preferibilmente l'email di registrazione sotto EditText:

uscita:

output

Qualsiasi puntatori apprezzato. Grazie.

+0

Eventuali duplicati di [Android aggiungere testo segnaposto per EditText] (http://stackoverflow.com/questions/8221072/android-add-placeholder-text-to-edittext) –

+0

"questa sarà la vostra nome utente "è anche un segnaposto ?? – curiousMind

+0

Quello che stai cercando è un testo di modifica etichetta fluttuante. – noev

risposta

18

Il modo migliore è utilizzare TextInputLayout. Google lo ha introdotto nella nuova libreria di design. Per poter utilizzare il TextInputLayout si deve aggiungere la seguente alle vostre dipendenze build.gradle:

compile 'com.android.support:design:22.2.0' 

Quindi utilizzare nelle vostre file XML:

<android.support.design.widget.TextInputLayout 
android:id="@+id/textInputLayout" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content"> 

<EditText 
    android:id="@+id/editText" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:hint="Enter your name"/> 
</android.support.design.widget.TextInputLayout> 

È possibile impostare il testo impostando errore vero . Anche se è per mostrare errori, ma è adatto per il vostro uso. Puoi cambiare colore e carattere tipografico se vuoi.

TextInputLayout til = (TextInputLayout) findViewById(R.id.textInputLayout); 
til.setErrorEnabled(true); 
til.setError("You need to enter a name"); 

enter image description here

+0

Come posso cambiare il colore del testo dell'errore? –

+3

@AdarshYadav crea uno stile personalizzato che utilizza '@android: style/TextAppearance' come genitore nel file styles.xml e lo utilizza nell'app del widget di TextInputLayout: errorTextAppearance' –

0

avevo domanda simile chiesto here. Se si desidera mantenere due viste EditText chiuse verticalmente in LinearLayout, penso che non ci sia modo. Un modo, penso, è che puoi impostare l'androide: gravità di EditText in alto a "in basso" e "in alto" in EditText inferiore. Ma in RelativeLayout, dovrebbe essere facile.

TextInputLayout può essere utilizzato se si desidera visualizzare il testo del suggerimento (sopra EdiText) anche mentre lo si digita dall'utente. Di solito con l'impostazione di suggerimenti su EditText non funzionerebbe in questo modo. Il testo suggerito scomparirebbe dopo che la vista è stata focalizzata toccandola.

1

Quindi, ciò che si vuole è questo:

Helper Text

È possibile ottenere questo utilizzando questa libreria:

https://github.com/rengwuxian/MaterialEditText

È possibile impostare il "testo aiuto" attributo per mostrare la testo sotto la linea e il "suggerimento" per mostrare il testo sopra la linea. Di seguito è riportato il layout di esempio per l'immagine allegata

<com.rengwuxian.materialedittext.MaterialEditText 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:hint="Password" 
     android:inputType="textPassword" 
     app:met_floatingLabel="normal" 
     app:met_helperText="Must contain at least 8 characters" 
     app:met_helperTextAlwaysShown="true"/>