J'ai récemment utilisé TextInputEditText
et j'ai obtenu une erreur de la charpie que singleLine
attribut est Obsolète
<Android.support.design.widget.TextInputEditText
Android:id="@+id/my_edit_text"
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:hint="@string/string_hint_dob"
Android:lines="5"/>
</Android.support.design.widget.TextInputLayout>
Se faire traverser comme ci-dessous:
Y a-t-il un autre moyen pour cela?
Le Android:singleLine
Cet attribut est déconseillé depuis API niveau . Vous pouvez obtenir le même comportement en utilisant Android:maxLines
, qui vous permet de spécifier un nombre arbitraire de lignes. C'est supérieur à Android:singleLine
, ce qui vous limite à autoriser une seule ligne.
<TextView
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:minLines="2"
Android:maxLines="2" /> <!-- can specify arbitrary number of max lines -->
Android:singleLine
Est obsolète depuis l'API 3, vous devez utiliser Android:maxLines
À la place (dans votre cas Android:maxLines="1"
).
La raison de la dépréciation est pour sa mauvaise performance. Quoi qu'il en soit, l'attribut singleLine
ne sera pas supprimé, car il reste le seul moyen de créer des effets que Android:maxLines
Ne peut générer:
par exemple.
Cela produira un texte horizontal défilant sur une ligne si le texte est sélectionné.
<TextView
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:singleLine="true"
Android:ellipsize="end"
Android:scrollHorizontally="true" />
Au lieu de cela, cela ne fonctionnera pas:
<TextView
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:maxLines="1"
Android:ellipsize="end"
Android:scrollHorizontally="true" />
Toujours définir le type d'entrée pour une seule ligne
ex: inputType="text"
Vous n'avez rien d'autre à faire.
Suite à un engagement de Juan José Melero Gómez, je voudrais ajouter plus d'informations:
Si vous essayez de définir un imeAction
sur votre EditText
tel que actionSearch
, définissez Android:maxLines="1"
ne suffira pas. Ajouter Android:inputType="text"
est obligatoire si vous voulez voir l’icône de recherche.
<EditText
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:inputType="text"
Android:maxLines="1"
/>
utilisation Android:inputType="text"
et Android:maxLines="1"
rassembler
Nécessaire remplacer Android:singleLine="true"
à Android:maxLines="1"
si vous voulez indiquer imeOptions
nécessaire d’ajouter cette ligne Android:inputType="number|text ..."