2013-08-05 24 views
8

Tôi đang tạo giao diện người dùng của ứng dụng. Khi tôi cố gắng nhập giá trị trong EditText thì bàn phím sẽ di chuyển giao diện người dùng lên trên. Hãy giúp tôi khi bàn phím mở sau đó nó không nên di chuyển giao diện người dùng lên trên.Giao diện người dùng di chuyển lên trên khi bàn phím mở

<activity 
     android:name=".AddProductsActivity" 
     android:configChanges="orientation" 
     android:hardwareAccelerated="false" 
     android:windowSoftInputMode="adjustResize" /> 

Trả lời

12

Giải quyết được sự cố của tôi.

Cảm ơn tất cả.

<activity 
    android:name=".AddProductsActivity" 
    android:configChanges="orientation" 
    android:hardwareAccelerated="false" 
    android:windowSoftInputMode="adjustPan" /> 
+0

Giải pháp tốt đẹp !! –

0

add dòng sau hoạt động của bạn trong thẻ menifest

android:theme="@android:style/Theme.NoTitleBar.Fullscreen" 
1
  1. Sử dụng RelativeLayout để hiển thị Đầu và Cuối thanh bên trong một khác RelativeLayout, trong đó bao gồm toàn bộ màn hình.

cho top bar:

android:id="@+id/top" 
android:layout_alignParentTop = "true" 
android:layout_alignParentRight = "true" 
android:layout_alignParentLeft = "true" 
android:layout_width="wrap_content" 
android:layout_height="<fix height like 50dp or as per requirement>" 

cho thanh dưới cùng:

android:id="@+id/bottom" 
android:layout_alignParentBottom="true" 

  1. Bây giờ thêm một scrollview như thế này:

    một ndroid: layout_width = "wrap_content" android: layout_height = "wrap_content" android: layout_below = "@ + id/top" android: layout_above = "@ + id/dưới"

  2. Bây giờ thêm một cái nhìn trẻ chế độ xem cuộn này, có thể nằm ngoài RelativeLayout hoặc LineareLayout. Chúng ta cần khung nhìn con này để bao bọc các khung nhìn con khác, mà chúng ta muốn thêm vào giữa màn hình, bây giờ bất cứ thứ gì chúng ta muốn xem, chỉ cần thêm khung nhìn đó làm con của bố cục này như EditText hoặc bất cứ thứ gì bạn thích.

Bây giờ khi KeyBoard xuất hiện, các scrollview giữa sẽ di chuyển ngược, mà sẽ không làm méo mó UI của bạn ..

Tôi hy vọng nó sẽ là hữu ích, trở lại với tôi nếu bạn vẫn còn có vấn đề với này .. :)

0

Xóa dòng này android: windowSoftInputMode = "adjustResize" từ thẻ trong tệp kê khai cho hoạt động đó.

0

Vì tôi đang sử dụng TabActivity cho hoạt động chính của mình và sau đó FragmentActivity cho hoạt động tab của tôi, cài đặt tệp kê khai dường như không giúp ích. Vì vậy, giải pháp của tôi là:

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE); 
    setContentView(R.layout.activity_fragment); 
    // Setup fragment 
    if (savedInstanceState == null) { 
     getSupportFragmentManager().beginTransaction() 
       .add(R.id.container, new Fragment()) 
       .commit(); 
    } 
} 

Gọi rõ ràng setSoftInputMode (SOFT_INPUT_ADJUST_RESIZE) khi tạo. Hy vọng rằng có thể giúp một số người nếu manifest.xml không giúp đỡ.

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