2012-07-10 157 views
17

讓說我有以下佈局:佈局屏幕向上移動時,鍵盤顯示

http://i47.tinypic.com/2vchnih.png

,當我在編輯文本單擊底部的我得到這個:

http://i45.tinypic.com/352lym9.png

正如您可以注意到,從頂部的圖像上移,整個佈局移動。 這是我對這個佈局XML:

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:background="#FFFFFF" > 

    <LinearLayout 
     android:id="@+id/header" 
     android:layout_width="fill_parent" 
     android:layout_height="75dp" 
     android:layout_alignParentLeft="true" 
     android:layout_alignParentRight="true" 
     android:layout_alignParentTop="true"   
     android:isScrollContainer="true" 
     android:background="@drawable/header" > 
    </LinearLayout> 

    <ScrollView 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:id="@+id/scrollauthentication" 
     android:layout_below="@+id/header" 
     android:background="#FFFFFF" 
     android:fillViewport="true" > 

     <RelativeLayout 
      xmlns:android="http://schemas.android.com/apk/res/android" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:background="#FFFFFF" 
      android:id="@+id/authenticationrelativelayout"> 

      <TextView 
       android:id="@+id/login" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_alignParentLeft="true" 
       android:layout_below="@+id/header" 
       android:layout_marginLeft="30dp" 
       android:layout_marginTop="20dp" 
       android:text="login" 
       android:textAppearance="?android:attr/textAppearanceMedium" 
       android:textColor="@color/lighter_orange" 
       android:textSize="28dp" /> 

      <TextView 
       android:id="@+id/usernameTextView" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_alignLeft="@+id/login" 
       android:layout_below="@+id/login" 
       android:layout_marginTop="16dp" 
       android:text="username" 
       android:textAppearance="?android:attr/textAppearanceMedium" 
       android:textColor="@color/dark_gray" /> 

      <EditText 
       android:id="@+id/user" 
       android:layout_width="260dp" 
       android:layout_height="42dp" 
       android:layout_alignLeft="@+id/usernameTextView" 
       android:layout_below="@+id/usernameTextView" 
       android:background="@drawable/edittext_selector" 
       android:imeOptions="actionDone" 
       android:lines="1" 
       android:paddingLeft="10dp" /> 

      <TextView 
       android:id="@+id/passwordTextView" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_alignLeft="@+id/user" 
       android:layout_below="@+id/user" 
       android:text="password" 
       android:textAppearance="?android:attr/textAppearanceMedium" 
       android:textColor="@color/dark_gray" /> 

      <EditText 
       android:id="@+id/password" 
       android:layout_width="260dp" 
       android:layout_height="42dp" 
       android:layout_alignLeft="@+id/passwordTextView" 
       android:layout_below="@+id/passwordTextView" 
       android:background="@drawable/edittext_selector" 
       android:imeOptions="actionDone" 
       android:inputType="textPassword" 
       android:lines="1" 
       android:paddingLeft="10dp" > 

       <requestFocus /> 
      </EditText> 

      <CheckBox 
       android:id="@+id/remembercheckBox" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_alignLeft="@+id/password" 
       android:layout_below="@+id/password" 
       android:layout_marginTop="37dp" 
       android:button="@drawable/checkbox_selector" 
       android:focusable="true" /> 

      <TextView 
       android:id="@+id/rememberText" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_alignBaseline="@+id/remembercheckBox" 
       android:layout_alignBottom="@+id/remembercheckBox" 
       android:layout_toRightOf="@+id/remembercheckBox" 
       android:text="Remember me" 
       android:textAppearance="?android:attr/textAppearanceMedium" 
       android:textColor="@color/dark_gray" /> 
     </RelativeLayout> 
    </ScrollView> 

    <LinearLayout 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:layout_marginLeft="30dp" 
     android:layout_below="@+id/scrollauthentication" 
     android:orientation="horizontal" > 

     <Button 
      android:id="@+id/loginButton" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:background="@color/button_selected" 
      android:text="log in" 
      android:textColor="@drawable/textblack_selected" 
      android:textStyle="bold" > 
     </Button> 

     <Button 
      android:id="@+id/forgotten" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_marginLeft="10dp" 
      android:background="@color/button_selected" 
      android:text="forgotten password" 
      android:textColor="@drawable/textblack_selected" 
      android:textStyle="bold" /> 
    </LinearLayout> 

</RelativeLayout> 

而且我也設置這個清單文件,該活動:

android:windowSoftInputMode="adjustPan" 

那麼,有沒有辦法從移動時鍵盤停止我的佈局被展示? 謝謝!!!!

+0

檢查此鏈接: http://stackoverflow.com/questions/9989130/page-scroll-when-soft-keyboard-poped-up – 2012-07-10 09:26:31

+0

我認爲這個鏈接會幫助你。 [鏈接] [1] [1]:http://stackoverflow.com/questions/5516216/how-to-avoid-soft-keyboard-pushing-up-my-layout 謝謝... – user4232 2012-07-10 09:27:19

+0

@YogeshSomani沒有什麼在那裏我還沒有試過。它不工作 – adrian 2012-07-10 09:32:13

回答

10

好,我沒有提到我的應用程序的清單中的任何「windowSoftInputMode」,並運行良好。鍵盤打開時屏幕不會向上移動。嘗試這種方法 - 只需從清單中刪除「windowSoftInputMode」參數即可。

26

嘗試使用

android:windowSoftInputMode="adjustPan|adjustResize" 

的活動。

+0

我試過了。它沒有區別 – adrian 2012-07-10 09:29:59

+0

你可以請顯示你的清單文件代碼嗎? – SALMAN 2012-07-10 10:01:51

+5

試試這個爲你的ScrollView android:isScrollContainer =「false」這可能會幫助你。 – SALMAN 2012-07-10 10:06:29

1

試試這個:

android:windowSoftInputMode="adjustNothing" 
+1

雖然這段代碼片段是受歡迎的,並且可能會提供一些幫助,但如果包含* how *和* why *的解釋](// meta.stackexchange.com/q/114762)問題。請記住,你正在爲將來的讀者回答這個問題,而不僅僅是現在問的人!請編輯您的答案以添加解釋,並指出適用的限制和假設。 – 2017-04-04 14:32:09

2

我的EditText保持動起來爲好。

添加重力編輯文本似乎解決了問題。 鍵盤正在推動我的EditText,所以我將重力添加到XML中編輯文本的底部。

android:gravity=bottom 
0

我已經有了一個windowsoftInputMode,以防止打開鍵盤,所以只需添加註釋代碼

機器人:windowSoftInputMode = 「stateHidden | adjustPan | adjustResize」

相關問題