2012-01-25 29 views
14

Tôi có một hoạt động với một loạt các trường EditText trên đó và windowSoftInputMode được đặt thành adjustPan, điều này chủ yếu là những gì tôi muốn, tuy nhiên đối với editText ở dưới cùng của bố cục, nó không đủ rộng. Nó sẽ xoay để hiển thị dòng trên cùng của văn bản chỉnh sửa nhiều dòng, nhưng ngay khi bạn nhấn enter, con trỏ di chuyển xuống một dòng và hiện được ẩn dưới bàn phím.Cách tạo windowSoftInputMode = "adjustPan" pan hơn

Có anyway tôi có thể làm cho nó xoay xa hơn để phía trên cùng của editText là tất cả các cách ở phía trên cùng của cửa sổ.

Sử dụng điều chỉnhĐảm bảo chắc chắn sẽ không làm những gì tôi muốn, xoay là điều đúng, chỉ cần cần xoay thêm.

+0

đăng ảnh chụp màn hình của bạn để dễ dàng cho việc giải thích vấn đề – Lokesh

Trả lời

6

Điều tương tự cũng xảy ra với tôi.

Điều tôi đã giải quyết là, tôi chỉ cần đặt tất cả các điều khiển trong ScrolllView.

Và đặt android: windowSoftInputMode adjustResize. Vì vậy, bất cứ khi nào bàn phím được mở, nó sẽ cuộn màn hình để điều chỉnh chế độ xem và Edittext luôn hiển thị trên màn hình.

Hy vọng ý tưởng này phù hợp với bạn.

Cảm ơn

+0

+1, bạn nói đúng, tôi đã làm những điều tương tự. –

+0

Bạn có ý gì khi "đặt tất cả các điều khiển trong ScrollView"? –

0

tôi có edittext ở dưới cùng của màn hình khi tôi chạm vào nó mở softkeyboard nhưng nó ẩn edittext, do đó, thực hiện các thay đổi trong bố trí (sử dụng bố trí tương đối) và nó hoạt động cho tôi mà không cần sử dụng adjustPan.Đây là XML của tôi.

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/gen_mainlayout" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:background="@drawable/bg" 
    android:orientation="vertical" > 

    <RelativeLayout 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" > 

     <RelativeLayout 
      android:id="@+id/headerlinearLayout" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:background="@drawable/navigation_bar" > 

      <Button 
       android:id="@+id/chatterBack" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_alignParentLeft="true" 
       android:layout_centerVertical="true" 
       android:layout_marginLeft="20dp" 
       android:background="@drawable/navigation_cancel_button" 
       android:textColor="#FFFFFF" > 
      </Button> 

      <TextView 
       android:id="@+id/ittletextView" 
       style="@style/titleText" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_centerInParent="true" 
       android:text="Title" > 
      </TextView> 

      <Button 
       android:id="@+id/blockhide" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_alignParentRight="true" 
       android:layout_centerVertical="true" 
       android:layout_marginRight="20dp" 
       android:background="@drawable/navigation_cancel_button" 
       android:padding="5dp" 
       android:text="Block/Hide" 
       android:textColor="#FFFFFF" > 
      </Button> 
     </RelativeLayout> 

     <LinearLayout 
      android:id="@+id/middlelinearLayout" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:layout_below="@+id/headerlinearLayout" 
      android:orientation="vertical" > 

     </LinearLayout> 


     <LinearLayout 
      android:id="@+id/footerlinearLayout" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:layout_alignParentBottom="true" 
      android:background="@drawable/commnet_post_bg" 
      android:gravity="center" 
      android:paddingLeft="5dp" 
      android:paddingRight="5dp" > 


      <EditText 
       android:id="@+id/sendeditText" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_marginRight="5dp" 
       android:layout_weight="1" 
       android:background="@drawable/comment_post_text_box" 
       android:imeOptions="actionSend|flagNoEnterAction" 
       android:inputType="text" 
       android:paddingLeft="10dp" 
       android:paddingRight="5dp" 
       android:singleLine="true" > 
      </EditText> 

      <Button 
       android:id="@+id/sendButton" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:background="@drawable/send_button" 
       android:text="Send" 
       android:textColor="#FFFFFF" > 
      </Button> 
     </LinearLayout> 
    </RelativeLayout> 

</LinearLayout> 
-1

Bạn cần thêm dòng này vào hoạt động của bạn để điều chỉnh màn hình.

 <activity android:name=".TodoEdit" 
     android:windowSoftInputMode="adjustResize"> 
+0

như tôi đã nói trong câu hỏi adjustResize không làm điều đó. – superfell

1

Đặt bạn EditText bên trong scrollview và sau đó cung cấp cho tài sản adjustResize, thay vì adjustPan, nó sẽ tự động điều chỉnh màn hình của bạn và các thành phần của nó.

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