Se imposto SingleLine = true su un widget EditText, ottengo un controllo di modifica a riga singola che non consente all'utente di inserire ritorni rigidi (facendo clic su Invio si passa a il campo successivo invece di inserire una nuova riga). Se non imposto SingleLine = true, l'utente può inserire ritorni rigidi.Android EditText con word-wrap ma nessun ritorno hard
Se imposto layout_height = "wrap_content", il controllo EditText crescerà verticalmente per mostrare tutto il testo. Tuttavia, lo fa solo se SingleLine non è impostato su true.
Quindi, la mia domanda è, è possibile ottenere il word-wrapping e il ridimensionamento verticale, senza consentire all'utente di inserire interruzioni di linea dura? Suppongo che potrei intrappolare il tasto Invio, ma poi dovrei anche prendere altri modi in cui potrebbero trovarne uno (copia/incolla, non so cos'altro?). C'è un modo semplice per farlo con la giusta combinazione di proprietà?
Preferisco il word-wrap in cui l'utente può vedere tutto il testo, rispetto allo scorrimento orizzontale di un controllo di modifica su una riga, ma non voglio che pensino che possono inserire testo multilinea (e io non voglio doverlo supportare). Credo che potrei semplicemente convertire i ritorni rigidi in spazi quando salvi i dati nel mio database, se necessario (l'app legacy che sincronizzo questi dati sul PC non può gestire ritorni difficili).
Così utile. Non so perché questo non è offerto come comportamento integrato. – JulianSymes
Funziona perché Android imposta automaticamente 'EditorInfo.IME_FLAG_NO_ENTER_ACTION' su viste di testo multilinea. Puoi semplificare questo: 'Connessione InputConnection = super.onCreateInputConnection (outAttrs); outAttrs.imeOptions & = ~ (EditorInfo.IME_FLAG_NO_ENTER_ACTION); connessione di ritorno; ' – Foxichu