2013-07-13 51 views
18

Chế độ nhập mềm là "SOFT_INPUT_ADJUST_PAN" và khi bàn phím được hiển thị, EditText di chuyển để vẫn hiển thị, nhưng bàn phím và phía dưới của txt luôn được gắn với nhau như được thấy trên ảnh chụp màn hình, tôi muốn có khoảng cách giữa chúng là nó có thể?Khoảng cách giữa bàn phím và EditText trong Android

Chế độ nhập cũng phải ở dạng "SOFT_INPUT_ADJUST_PAN".

Xin lỗi tạo tiếng anh của tôi, Cảm ơn trước ...

Screenshot:

+0

Tại sao lại khăng khăng sử dụng "adjustPan"? Sử dụng "adjustResize" nếu không có vấn đề đó. – arjoan

+0

Cuz khi sử dụng "adjustResize", vấn đề lớn nhất là thanh điều hướng ở phía dưới đang dịch chuyển lên đầu bàn phím. – altosh

Trả lời

2

Có thể điều này giúp bạn:

Nếu dòng này được viết bằng mã của bạn sau đó loại bỏ nó:

getWindow().setFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS, WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS); 

HOẶC:

Bạn không được đặt layout_widthlayout_heights với giá trị pixel rõ ràng. Thay vào đó, hãy sử dụng wrap_parent hoặc fill_parent nếu thích hợp.

OR:

Nếu bạn đã thiết lập của bạn minSdkVersion-3 sau đó thay đổi nó để minSdkVersion=4

Edit:

Đặt android:windowSoftInputMode trên Hoạt động để "adjustPan"

HOẶC :

Thêm mã này vào các hoạt động chính của bạn trong setOnTouchListener() của bạn EditText:

this.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_UNSPECIFIED); 
+0

Cảm ơn bạn đã trả lời nhưng không ai trong số họ làm việc cho tôi. – altosh

+0

Bạn bè xem mã đã chỉnh sửa có thể giúp bạn .. –

+1

Cảm ơn bạn, chế độ nhập phải nằm SOFT_INPUT_ADJUST_PAN. Khi bàn phím hiển thị, nó sẽ dính vào edittexts (ví dụ edittext ở cuối màn hình). Nó là ok nhưng tôi muốn có một số không gian giữa edittext và bàn phím. – altosh

1

Tại sao bạn không thử loại này?

android:windowSoftInputMode="adjustResize" 

Tôi biết bạn muốn điều chỉnh chảo nhưng điều này sẽ giải quyết được sự cố của bạn.

Vì bạn thực sự muốn ở lại với AdjustPan, có thể bạn có thể thử thiết kế lại bố cục XML một chút.

+0

Điều này phù hợp với tôi. – boiledwater

+0

không có khoảng cách giữa edittext và bàn phím mềm. không thể hình nó ra –

0

Chỉ cần tự hỏi, ứng dụng của bạn có toàn màn hình không? nó có thanh trạng thái không? Nếu nó là cố gắng để vô hiệu hóa chế độ toàn màn hình và cố gắng để xem nếu đó giải quyết vấn đề của bạn. Tôi nhớ đã có một lỗi về điều này một thời gian trước đây.

+0

nó có thanh trạng thái. – altosh

3

tôi áp dụng phương pháp trên mà làm việc đối với tôi là Set android: windowSoftInputMode trên Hoạt động để "adjustPan" hơn tôi thêm đệm vào EditText với lực hấp dẫn dưới và nó hoạt động như quyến rũ. Cảm ơn,

+1

Padding là những gì làm việc, bởi vì không giống như lề nó được nhìn thấy bởi người quản lý cửa sổ như nội bộ để xem. Ví dụ: editText.setPadding (0, 0, 0, 40) sẽ khiến khung nhìn của bạn nhận thêm 40px không gian bên dưới khi bàn phím xuất hiện. Tôi không phải đặt trọng lực cho việc này. –

+1

điều gì sẽ xảy ra với văn bản bên trong văn bản nếu bạn làm điều này? –

+0

@ user1232726 nếu bạn đặt chiều cao của văn bản chỉnh sửa thành wrap_content, thì văn bản của bạn sẽ xuất hiện ngoài trung tâm nhưng tất cả sẽ hiển thị. Câu chuyện khác nhau nếu, ví dụ, bạn đặt chiều cao văn bản chỉnh sửa thành 41dp và paddingBottom thành 40dp –

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