2016-06-25 13 views
5

Tôi đang tạo một máy tính và đầu vào của người dùng được chứa trong EditText. Đầu vào được nhập thông qua các nút trên màn hình, vì vậy bàn phím Android bị tắt. Tuy nhiên, tôi muốn nó để viết tất cả các đầu vào trong một dòng và khi dòng đạt đến biên giới, nó cần phải được ellipsized và sau đó cuộn ngang để bạn có thể đạt được toàn bộ văn bản.EditText sẽ không viết thành dòng đơn

Tôi đã thử làm điều này bằng cách đặt android: maxLines = "1" và android: ellipsize = "end", nhưng điều đó không hoạt động. Văn bản vẫn còn trong nhiều dòng, nhưng chỉ có một dòng được hiển thị và bạn cần cuộn theo chiều dọc để xem các dòng khác. Tôi cũng đã thử sử dụng android: singleLine = "true", nhưng điều đó làm cho EditText hoàn toàn không sử dụng được.

Đây là 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" /> 

Trả lời

9

Tôi nghĩ rằng điều này sẽ làm việc cho bạn. Cho tôi biết nếu nó hoạt động.

<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"/> 

Điều này post cũng có thể giúp bạn.

+5

+ android này: inputType = "text" làm việc cho tôi. Có vẻ như inputType là rất quan trọng ở đây. Liên kết bạn cung cấp đã giúp tôi rất nhiều. Ty – leonz

+0

Np, cảm ơn vì đã cho tôi biết. Tôi sẽ cập nhật câu trả lời với nó sau đó. Vui mừng nó đã giúp! –

1

Đối với dòng duy nhất trong EditText, bạn chỉ cần thiết lập hai thuộc tính:

android:inputType="text" 
android:maxLines="1" 
Các vấn đề liên quan