Je fais une calculatrice et la saisie de l'utilisateur est contenue dans EditText. La saisie se fait à l’aide de boutons à l’écran, le clavier Android est donc désactivé. Cependant, je souhaite qu'il écrive toutes les entrées sur une seule ligne. Lorsque cette dernière atteint la limite, elle doit être ellipsée, puis défilable horizontalement pour vous permettre d’atteindre le texte intégral.
J'ai essayé de le faire en configurant Android: maxLines = "1" et Android: ellipsize = "end", mais cela ne fonctionne pas. Le texte est toujours composé de plusieurs lignes, mais une seule ligne est visible et vous devez faire défiler verticalement pour voir les autres lignes. J'ai aussi essayé d'utiliser Android: singleLine = "true", mais cela rend EditText complètement inutilisable.
Ceci est EditText XML:
<EditText
Android:id="@+id/textView"
Android:layout_width="match_parent"
Android:layout_height="match_parent"
Android:layout_gravity="end"
Android:background="@color/colorBlue"
Android:textAlignment="textEnd"
Android:textSize="40sp" />
Je pense que cela fonctionnera pour vous. Laissez-moi savoir si cela fonctionne.
<EditText
Android:id="@+id/textView"
Android:layout_width="match_parent"
Android:layout_height="match_parent"
Android:layout_gravity="end"
Android:background="@color/colorBlue"
Android:textAlignment="textEnd"
Android:textSize="40sp"
Android:inputType="text"
Android:maxLines="1"
Android:lines="1"
Android:scrollHorizontally="true"
Android:ellipsize="end"/>
Ce post pourrait aussi vous aider.
Pour une seule ligne dans EditText
, il vous suffit de définir deux propriétés:
Android:inputType="text"
Android:maxLines="1"
L'ajout de cette ligne dans l'edittext rend le texte singleline défilable. Android:inputType="textShortMessage"
**This example helps you to create multiline EditText in Android.**
<RelativeLayout
xmlns:Android="http://schemas.Android.com/apk/res/Android"
xmlns:tools="http://schemas.Android.com/tools"
Android:id="@+id/rl"
Android:layout_width="match_parent"
Android:layout_height="match_parent"
Android:padding="10dp"
tools:context=".MainActivity"
>
<!--
Android:scrollbars="vertical"
It will display a vertical scrollbar if the EditText text exceed
3 lines (Android:maxLines).
-->
<EditText
Android:id="@+id/et"
Android:layout_width="250dp"
Android:layout_height="wrap_content"
Android:padding="10dp"
Android:layout_marginBottom="10dp"
Android:hint="Multiline EditText by XML layout"
Android:fontFamily="sans-serif-condensed"
Android:background="#d3d7b6"
Android:minLines="2"
Android:maxLines="3"
Android:scrollbars="vertical"
Android:inputType="textMultiLine"
/>
<EditText
Android:id="@+id/et2"
Android:layout_width="250dp"
Android:layout_height="wrap_content"
Android:padding="10dp"
Android:fontFamily="sans-serif-condensed"
Android:hint="Multiline EditText programmatically"
Android:background="#d4d7a5"
Android:layout_below="@+id/et"
/>
</RelativeLayout>