Help Học lập trình Android Xử lý khả năng hiển thị phương thức nhập

Thảo luận trong 'Hỏi & Đáp công nghệ' bắt đầu bởi nguyenlan1997, 14/1/19 lúc 17:27.

  1. nguyenlan1997

    nguyenlan1997 Member

    Tham gia ngày:
    14/5/18
    Bài gửi:
    75
    Đã được thích:
    0
    Điểm thành tích:
    6
    Khi tiêu điểm đầu vào di chuyển vào hoặc ra khỏi trường văn bản có thể chỉnh sửa, Học lập trình Android sẽ hiển thị hoặc ẩn phương thức nhập (như bàn phím trên màn hình) nếu phù hợp.

    Hệ thống cũng đưa ra quyết định về cách giao diện người dùng và trường văn bản của bạn xuất hiện phía trên phương thức nhập.



    [​IMG]

    Học lập trình Android​

    Ví dụ: khi không gian dọc trên màn hình bị hạn chế, trường văn bản có thể lấp đầy tất cả khoảng trắng phía trên phương thức nhập. Đối với hầu hết các ứng dụng, những hành vi mặc định này là tất cả những gì cần thiết.

    Tuy nhiên, trong một số trường hợp, bạn có thể muốn kiểm soát trực tiếp hơn mức độ hiển thị của phương thức nhập và chỉ định cách bạn muốn bố cục của mình xuất hiện khi phương thức nhập hiển thị. Bài học này giải thích cách kiểm soát và đáp ứng với khả năng hiển thị của phương thức nhập liệu.

    Hiển thị phương thức nhập khi hoạt động bắt đầu


    Mặc dù Học lập trình Android tập trung vào trường văn bản đầu tiên trong bố cục của bạn khi hoạt động bắt đầu, nhưng nó không hiển thị phương thức nhập.

    Hành vi này là phù hợp vì nhập văn bản có thể không phải là nhiệm vụ chính trong hoạt động. Tuy nhiên, nếu nhập văn bản thực sự là nhiệm vụ chính (chẳng hạn như trong màn hình đăng nhập), thì có lẽ bạn muốn phương thức nhập xuất hiện theo mặc định.

    Để hiển thị phương thức nhập khi hoạt động của bạn bắt đầu, hãy thêm Học lập trình Android: window SoftInput Mode thuộc tính vào <activity>phần tử có "stateVisible"giá trị. Ví dụ:



    <application ... > <hoạt động android: windowSoftInputMode = "stateVisible" ... > ... </ Activity> ... </ application>



    Hiển thị phương thức nhập theo yêu cầu

    Nếu Học lập trình Android có một phương thức trong vòng đời hoạt động của bạn, nơi bạn muốn đảm bảo rằng phương thức nhập liệu hiển thị, bạn có thể sử dụng Input Method Manager để hiển thị nó.

    Ví dụ, phương thức sau đây lấy một View người dùng nên gõ một cái gì đó, gọi request Focus() để tập trung vào nó, sau đó show Soft Input() mở phương thức nhập:

    KOTLIN
    JAVA


    vui showSoftKeyboard ( xem : Xem ) { nếu ( xem . requestFocus ()) { val imm = getSystemService ( Context . ĐẦU VÀO _ PHƯƠNG PHÁP _ DỊCH VỤ ) như InputMethodManager imm . showSoftInput ( xem , InputMethodManager . HIỂN THỊ _ IMPLICIT ) } }



    Chỉ định cách UI của bạn sẽ phản hồi

    Khi phương thức nhập xuất hiện trên màn hình, nó sẽ giảm dung lượng trống cho giao diện người dùng của ứng dụng.

    Hệ thống đưa ra quyết định về cách nó sẽ điều chỉnh phần hiển thị của giao diện người dùng của bạn, nhưng nó có thể không đúng.

    Để đảm bảo hoạt động tốt nhất cho ứng dụng của bạn, bạn nên chỉ định cách bạn muốn hệ thống hiển thị giao diện người dùng của bạn trong không gian còn lại.

    Để khai báo điều trị ưa thích của bạn trong một hoạt động, hãy sử dụng Học lập trình Android: window SoftInput Mode thuộc tính trong <activity>phần tử tệp kê khai của bạn với một trong các giá trị "điều chỉnh".

    Ví dụ: để đảm bảo hệ thống thay đổi kích thước bố cục của bạn sang không gian có sẵn, điều này đảm bảo rằng tất cả nội dung bố cục của bạn đều có thể truy cập được (mặc dù có thể yêu cầu cuộn)

    <application ... > <hoạt động android: windowSoftInputMode = "điều chỉnh kích thước" ... > ... </ Activity> ... </ application>


    Bạn có thể kết hợp đặc tả điều chỉnh với đặc tả khả năng hiển thị phương thức nhập ban đầu từ phía trên:

    <hoạt động android: windowSoftInputMode = "stateVisible | điều chỉnhResize" ... > ... </ Activity>


    Việc chỉ định "adjustResize"rất quan trọng nếu UI của bạn bao gồm các điều khiển mà người dùng có thể cần truy cập ngay sau hoặc trong khi thực hiện nhập văn bản.

    Ví dụ: nếu bạn sử dụng bố cục tương đối để đặt thanh nút ở cuối màn hình, sử dụng "adjustResize"thay đổi kích thước bố cục để thanh nút xuất hiện phía trên phương thức nhập.
     

Chia sẻ trang này