2013-10-02 61 views
1

我做了一個佈局。當我開始輸入登錄憑證時,出現鍵盤,現在我無法滾動以填寫其他詳細信息。所以所有的視圖隱藏在鍵盤後面。請幫我解決這個問題,這樣,當鍵盤打開,那麼它應該開始滾動看其他意見滾動鍵盤在android中打開時不起作用

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="fill_parent" 
    android:background="@drawable/login_bg" > 

    <RelativeLayout 
     android:id="@+id/top_layout" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:onClick="hideKeyboard" > 

     <ImageView 
      android:id="@+id/top_header" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:background="@drawable/blank_header" 
      android:scaleType="fitXY" /> 

     <ImageView 
      android:id="@+id/top_header" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_centerInParent="true" 
      android:scaleType="fitXY" 
      android:src="@drawable/login_font" /> 
    </RelativeLayout> 

    <RelativeLayout 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_centerInParent="true" 
     android:onClick="hideKeyboard" > 

     <Utility.LoginRL 
      android:id="@+id/scrollview" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_marginTop="85dp" 
      android:onClick="hideKeyboard" 
      android:scrollbars="none" > 

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

       <ImageView 
        android:id="@+id/logo" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_centerHorizontal="true" 
        android:layout_marginTop="10dp" 
        android:onClick="hideKeyboard" 
        android:paddingBottom="15dp" 
        android:src="@drawable/logo" /> 

       <RelativeLayout 
        android:id="@+id/user_pass_layout" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_below="@id/logo" 
        android:layout_centerHorizontal="true" 
        android:layout_margin="5dip"> 

        <LinearLayout 
         android:id="@+id/username_layout" 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         android:background="@drawable/user_text1" 
         android:gravity="center_vertical" 
         android:onClick="showKeyboard" 
         android:paddingBottom="20dp" > 

         <TextView 
          android:layout_width="wrap_content" 
          android:layout_height="wrap_content" 
          android:layout_marginTop="5dp" 
          android:paddingLeft="10dp" 
          android:text="User Name" 
          android:textColor="#9D9D9D" 
          android:textSize="20dp" /> 

         <EditText 
          android:id="@+id/uName" 
          android:layout_width="match_parent" 
          android:layout_height="wrap_content" 
          android:layout_marginTop="5dp" 
          android:background="#00000000" 
          android:paddingLeft="10dp" 
          android:singleLine="true" 
          android:text="" 
          android:textColor="#228ED3" 
          android:textSize="20dp" /> 
        </LinearLayout> 

        <LinearLayout 
         android:id="@+id/password_layout" 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         android:layout_below="@id/username_layout" 
         android:background="@drawable/user_text2" 
         android:gravity="center_vertical" 
         android:onClick="showKeyboard" 
         android:layout_margin="5dip" 
         android:paddingBottom="10dp" > 

         <TextView 
          android:layout_width="wrap_content" 
          android:layout_height="wrap_content" 
          android:layout_marginTop="5dp" 
          android:onClick="showKeyboard" 
          android:paddingLeft="10dp" 
          android:paddingRight="5dp" 
          android:text="Password" 
          android:textColor="#9D9D9D" 
          android:textSize="20dp" /> 

         <EditText 
          android:id="@+id/pass" 
          android:layout_width="match_parent" 
          android:layout_height="wrap_content" 
          android:layout_marginTop="5dp" 
          android:background="#00000000" 
          android:paddingLeft="10dp" 
          android:password="true" 
          android:singleLine="true" 
          android:text="" 
          android:textColor="#228ED3" 
          android:textSize="20dp" /> 
        </LinearLayout> 
       </RelativeLayout> 

       <!-- 
      <LinearLayout 
      android:id="@+id/site_url_layout" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_below="@id/user_pass_layout" 
      android:layout_centerHorizontal="true" 
      android:paddingBottom="10dp" 
      android:paddingTop="20dp" > 



       --> 

       <TextView 
        android:id="@+id/lbl_siteUrl" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_below="@id/user_pass_layout" 
        android:layout_centerHorizontal="true" 
        android:layout_marginTop="10dp" 
        android:background="@drawable/site_url1" 
        android:gravity="center_vertical" 
        android:onClick="showKeyboard" 
        android:paddingLeft="10dp" 
        android:layout_margin="5dip" 
        android:paddingTop="10dp" 
        android:text="Site Url" 
        android:textColor="#9D9D9D" 
        android:textSize="20dp" /> 

       <EditText 
        android:id="@+id/siteUrl" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_below="@id/lbl_siteUrl" 
        android:layout_centerHorizontal="true" 
        android:background="@drawable/site_url2" 
        android:gravity="top" 
        android:paddingLeft="10dp" 
        android:singleLine="true" 
        android:text="http://" 
        android:textColor="#228ED3" 
        android:textSize="20dp" /> 
       <!-- </LinearLayout> --> 

       <ImageView 
        android:id="@+id/login_btn" 
        android:layout_width="wrap_content" 
        android:layout_margin="5dip" 
        android:layout_height="wrap_content" 
        android:layout_below="@id/siteUrl" 
        android:layout_centerHorizontal="true" 
        android:layout_marginTop="20dp" 
        android:paddingBottom="10dp" 
        android:src="@drawable/login_btn" /> 

       <ImageView 
        android:id="@+id/forgot_pass_btn" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_below="@id/login_btn" 
        android:layout_centerHorizontal="true" 
        android:src="@drawable/forgot_pass_btn" /> 
      </RelativeLayout> 
     </Utility.LoginRL> 
    </RelativeLayout> 

</RelativeLayout> 

LoginRL

公共類LoginRL擴展滾動型{ 公共布爾isKeyboardHidden = TRUE;

public LoginRL(Context context) { 
     super(context); 
    } 

    public LoginRL(Context context, AttributeSet attrs, int defStyle) { 
     super(context, attrs, defStyle); 
    } 

    public LoginRL(Context context, AttributeSet attrs) { 
     super(context, attrs); 
    } 

    @Override 
    protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { 
     super.onMeasure(widthMeasureSpec, heightMeasureSpec); 
     final int proposedheight = MeasureSpec.getSize(heightMeasureSpec); 
     final int actualHeight = getHeight(); 

     if (actualHeight > proposedheight){ 
      isKeyboardHidden = false; 
      //LoginScreen.keyboardToolbar.setVisibility(View.VISIBLE); 
     } else { 
      isKeyboardHidden = true; 
      //LoginScreen.keyboardToolbar.setVisibility(View.GONE); 
     } 
    } 

} 

回答

0

使用此:

InputMethodManager inputManager = (InputMethodManager) v.getContext().getSystemService(Context.INPUT_METHOD_SERVICE); 
inputManager.hideSoftInputFromWindow(v.getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS); 
+0

什麼是v在這裏? –

+0

V將是您的父視圖。它可能是你的根佈局。 –

+0

你不明白我的問題。請再次閱讀...當鍵盤打開時,佈局應該向上移動,它應該開始滾動。 –

0

ScrollView內部佈局,你就可以顯示鍵盤時滾動。

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" > 

    <RelativeLayout 
     android:id="@+id/top_layout" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:onClick="hideKeyboard" > 

    ....... 

</ScrollView> 
+0

我已經嘗試過,但仍然沒有滾動時鍵盤打開..底視圖隱藏在鍵盤後面 –

相關問題