我正在制作一个计算器,用户输入包含在 EditText 中。输入是通过屏幕上的按钮键入的,因此 Android 键盘被禁用。但是,我希望它将所有输入写在一行中,当行到达边界时,它需要被椭圆化然后水平滚动以便您可以到达整个文本。
我尝试通过设置 android:maxLines="1"和 android:ellipsize="end"来做到这一点,但这不起作用。文本仍然是多行,但只有一行可见,您需要垂直滚动才能看到其他行。我也尝试使用 android:singleLine="true",但这会使 EditText 完全无法使用。
这是 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" />
最佳答案
我认为这对您有用。让我知道它是否有效。
<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"/>
这post也可能对你有帮助。
关于android - EditText 不会写入单行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38029392/