2013-10-02 5 views
1

레이아웃을 만들었습니다. 로그인 자격 증명을 입력하기 시작하면 키보드가 나타나고 이제는 다른 세부 정보를 채우기 위해 스크롤 할 수 없습니다. 그래서 모든 견해가 키보드 뒤에 숨어 있습니다. 열린 키보드 다음은 다른 뷰스크롤 키보드가 안드로이드에서 열려있을 때 작동하지 않습니다

<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가있는 ScrollView를 확장 { 공공 부울을 확인하기 위해 스크롤을 시작해야 할 때 그래서 내가이 문제를 해결 도와주세요 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

키보드를 열었을 때 스크롤을 시도했지만 여전히 시도하지 않았습니다. 키보드 뒤쪽의보기가 키보드 뒤에 숨어 있습니다. –

관련 문제