2014-04-04 2 views
0

소프트 키보드가 나타나면 내 양식보기를 위로 밀고 싶습니다. 내가 생각한 것만 큼 쉽지 않은 것으로 나타났습니다. 활동의 windowSoftInputModeadjustPan으로 변경하려고 시도했지만 아무 것도하지 않는 경우, adjustResize으로 변경하려고 시도했지만 버튼의 높이가 조정되었습니다.소프트 키보드가 표시 될 때 위로 슬라이드보기

내 원하는 결과의 예 :

Soft keyboard is visible

편집 :

Soft keyboard is hidden

그리고 텍스트 편집보기 중 하나에 사용자가 클릭 나는 위로 미끄러 그 전망을 할 때 : 내 레이아웃 파일은 다음과 같습니다.

<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="match_parent" 
tools:context="com.example.invity.Login" 
android:background="#5dc8fc" 
android:id="@+id/rlLogin"> 

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:background="#5dc8fc" 
style="@style/AppBaseThemeNoTitle" > 

    <ImageView 
     android:id="@+id/imgBG1" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:layout_alignParentTop="true" 
     android:scaleType="matrix" 
     android:src="@drawable/BG1" /> 

    <ImageView 
     android:id="@+id/imgBG2" 
     android:layout_width="match_parent" 
     android:layout_height="250dp" 
     android:layout_alignParentBottom="true" 
     android:scaleType="centerCrop" 
     android:src="@drawable/BG2" /> 

</RelativeLayout> 

<ImageView 
    android:id="@+id/imgLogo" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_centerHorizontal="true" 
    android:layout_marginTop="190dp" 
    android:src="@drawable/logo_white" 
    android:fitsSystemWindows="true" /> 

<EditText 
    android:id="@+id/txtEmail" 
    android:layout_width="350dp" 
    android:layout_height="50dp" 
    android:layout_centerHorizontal="true" 
    android:hint="@string/app_login_Email_Hint" 
    android:layout_below="@+id/imgLogo" 
    android:layout_marginTop="16dp" 
    android:layout_marginBottom="5dp" 
    android:paddingLeft="3dp" 
    android:ems="15" 
    android:inputType="textEmailAddress" 
    android:background="@drawable/edittext_style" 
    android:gravity="center" 
    android:singleLine="true" 
    android:textDirection="ltr" 
    android:textColor="#58c9f3" 
    android:fitsSystemWindows="true"> 

    <requestFocus /> 
</EditText> 

<EditText 
    android:id="@+id/txtPassword" 
    android:layout_width="350dp" 
    android:layout_height="50dp" 
    android:layout_centerHorizontal="true" 
    android:hint="@string/app_login_Password_Hint" 
    android:layout_below="@+id/txtEmail" 
    android:layout_marginBottom="5dp" 
    android:paddingLeft="3dp" 
    android:ems="15" 
    android:inputType="textPassword" 
    android:background="@drawable/edittext_style" 
    android:gravity="center" 
    android:singleLine="true" 
    android:textDirection="ltr" 
    android:textColor="#58c9f3" 
    android:fitsSystemWindows="true"/> 

<Button 
    android:id="@+id/btnConnect" 
    android:layout_width="350dp" 
    android:layout_height="55dp" 
    android:layout_centerHorizontal="true" 
    android:layout_alignLeft="@+id/txtPassword" 
    android:layout_alignRight="@+id/txtPassword" 
    android:layout_below="@+id/txtPassword" 
    android:text="@string/app_login_btn" 
    android:onClick="btnLoginClick" 
    android:background="@drawable/button_style" 
    android:textColor="#FFFFFF" 
    android:textSize="20sp" 
    android:fitsSystemWindows="true"/> 

</RelativeLayout> 

두 개의 ImageView를 사용하여 배경을 구성했습니다.

+0

당신은 당신의 레이아웃 파일을 표시 할 수 있습니다. adjustResize는 당신이 찾고있는 것이어야합니다 – peshkira

+0

그것은 단지 내 버튼의 크기를 조절 한 것입니다. 어쩌면 그것은 전망 뒤에 2 Imageviews 때문입니까? –

+0

여기를 참조하십시오 : [링크 설명을 여기에 입력하십시오] (http://stackoverflow.com/questions/1109022/close-hide-the-android-soft-keyboard/34263560#34263560) –

답변

-1

요청해야합니다 .Focus(); u는 업데이트 방법 일종의

(!EditText.hasFocus()){ 
//do nothing} 
else{EditText.requestFocus();} 

을 사용할 수 있습니다 당신 캔트 요청 초점을 경우

+0

고마워,하지만 그것은 내 질문과 관련이 없습니다. –

관련 문제