Nếu tôi đặt SingleLine = true trên tiện ích EditText, tôi sẽ có một điều khiển chỉnh sửa dòng đơn không cho phép người dùng chèn vào trường tiếp theo thay vì chèn một dòng mới). Nếu tôi không đặt SingleLine = true, người dùng có thể chèn trả về cứng.Android EditText với từ bọc nhưng không có kết quả cứng
Nếu tôi đặt layout_height = "wrap_content", điều khiển EditText sẽ tăng theo chiều dọc để hiển thị tất cả văn bản. Tuy nhiên, nó chỉ thực hiện điều này nếu SingleLine không được đặt thành true.
Vì vậy, câu hỏi của tôi là, có thể thay đổi kích thước từ và đóng gói dọc mà không cho phép người dùng nhập vào ngắt dòng cứng không? Tôi đoán tôi có thể bẫy nhập keypress, nhưng sau đó tôi cũng sẽ phải nắm bắt những cách khác mà họ có thể nhận được một trong đó (sao chép/dán, không chắc chắn những gì khác?). Có cách nào đơn giản để làm điều này chỉ với sự kết hợp của các thuộc tính?
Tôi thích từ bọc, nơi người dùng có thể xem tất cả văn bản, so với cuộn ngang của điều khiển chỉnh sửa một dòng, nhưng tôi thực sự không muốn họ nghĩ rằng họ có thể nhập văn bản nhiều dòng (và tôi không muốn phải hỗ trợ nó). Tôi đoán tôi chỉ có thể chuyển đổi trở lại cứng thành không gian khi tôi lưu dữ liệu vào cơ sở dữ liệu của mình, nếu tôi phải (ứng dụng cũ tôi đồng bộ dữ liệu này với PC không thể xử lý trở lại cứng).
Vì vậy, hữu ích. Tôi không biết tại sao điều này không được cung cấp như một hành vi tích hợp. – JulianSymes
Tính năng này hoạt động vì Android tự động đặt 'EditorInfo.IME_FLAG_NO_ENTER_ACTION' trên chế độ xem văn bản nhiều dòng. Bạn có thể đơn giản hóa việc này thành chỉ: 'Kết nối InputConnection = super.onCreateInputConnection (outAttrs); outAttrs.imeOptions & = ~ (EditorInfo.IME_FLAG_NO_ENTER_ACTION); kết nối trả về; ' – Foxichu