2011-01-05 20 views
8

Tôi có một hoạt động với điều này Layouts cấu trúc: LinearLayout -> scrollview -> TableLayoutandroid: windowSoftInputMode = "adjustResize" khi tôi đã có scrollview trong hoạt động

Bên dưới TableLayout tôi có EditText, mà tôi muốn được cuộn lên khi bàn phím đang hoạt động. Vì vậy, theo một số đọc tôi đã thực hiện, tôi nói thêm:

android:windowSoftInputMode="adjustResize" 

để AndroidManifest.xml, để hoạt động có liên quan, và thêm một wrapper scrollview đến tập tin activity.xml, do đó cấu trúc Layouts của hoạt động hiện tại là như sau: scrollview -> LinearLayout -> scrollview -> TableLayout

vấn đề: các scrollview bên trong không làm việc bây giờ ... tôi đoán các gói scrollview đang kiểm soát khi chạm vào ...

Làm thế nào tôi có thể giải quyết vấn đề này?

Mọi trợ giúp sẽ được đánh giá cao. Cảm ơn.

+0

cố gắng tránh tình huống trong đó chế độ xem cuộn ở đâu đó trong một chế độ xem cuộn khác. bạn có thể nắm bắt nó, nhưng điều này là không cần thiết. Tôi có một số prob. nhưng linearlayout> scrollview> tablelayout là đủ cho vấn đề của bạn. scrollview bên trong được tự động điều chỉnh theo đúng kích cỡ. Tôi cũng sẽ recomment để thêm "stateVisible" để các tùy chọn inputMode –

+1

Nhưng nếu tôi không quấn toàn bộ hoạt động với ScrollView, sau đó các hoạt động sẽ không nhận được thay đổi kích cỡ khi edittext nhấp ... Hoặc tôi có sai? Tôi đã thử mà không có nó, và các hoạt động đã không cuộn lên với bàn phím - bàn phím chỉ bao gồm EditText, một lần nữa ... – ofirbt

Trả lời

10

Tôi đang gặp phải vấn đề tương tự khi bàn phím ảo đang ẩn EditTexts trên màn hình của tôi. tôi giới thiệu các tài sản sau đây cho thẻ hoạt động trong file manifest:

android:windowSoftInputMode="stateVisible|adjustResize|adjustPan" 

Ngoài ra tôi cần thêm đoạn mã sau vào chức năng OnCreate của hoạt động:

this.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN); 

này đã giải quyết được vấn đề và nó làm việc hoàn toàn tốt đẹp trên tất cả các trình giả lập độ phân giải và thiết bị samsung. Mặc dù vậy, nó đã thất bại, trên thiết bị Google Nexus S và tôi có thể thấy cùng một vấn đề một lần nữa của bàn phím ảo ẩn EditTexts.

+11

Đây là ít nhất một chút sai. Theo [tài liệu hướng dẫn cho windowSoftInputMode] (http://developer.android.com/guide/topics/manifest/activity-element.html#wsoft) bạn không thể đặt nhiều tham số 'điều chỉnh' (và nó không làm cho dù sao đi nữa). – Timmmm

+2

Tài liệu không nói rằng bạn không thể đặt nhiều giá trị, chỉ là kết quả là không xác định nên nó hơi bị hack. – fejd

+0

Sau nhiều giờ tìm kiếm, giải pháp này đã giải quyết được vấn đề lag đầu vào 'EditText' (tối đa 5 giây). Cảm ơn bạn. –

Các vấn đề liên quan