android softkeyboard推动布局

时间:2012-12-03 16:54:47

标签: android relativelayout

所以基本上我有一个主要的布局,这是一个登录屏幕。问题是,当我点击Edittext字段时,整个相对布局会离开屏幕...

这是我的xml:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/background_gradient"
android:theme="@android:style/Theme.NoTitleBar"
tools:context=".MainActivity" >

<ImageView
    android:id="@+id/imageView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_above="@+id/editText1"
    android:layout_centerHorizontal="true"
    android:layout_marginBottom="60dp"
    android:baselineAlignBottom="true"
    android:contentDescription="@string/skedo"
    android:src="@drawable/logo" />

<EditText
    android:id="@+id/editText1"
    android:layout_width="fill_parent"
    android:layout_height="50dp"
    android:layout_above="@+id/editText2"
    android:layout_centerHorizontal="true"
    android:layout_marginLeft="13dp"
    android:layout_marginRight="13dp"
    android:drawableLeft="@drawable/user"
    android:drawablePadding="13dp"
    android:paddingLeft="13dp"
    android:inputType="textEmailAddress"
    android:background="@drawable/round_corners"
    android:ems="10"
    android:hint="@string/email" />

<EditText
    android:id="@+id/editText2"
    android:layout_width="fill_parent"
    android:layout_height="50dp"
    android:layout_centerInParent="true"
    android:layout_marginLeft="13dp"
    android:layout_marginRight="13dp"
    android:layout_marginTop="8dp"
    android:drawableLeft="@drawable/lock"
    android:drawablePadding="13dp"
    android:paddingLeft="13dp"
    android:background="@drawable/round_corners"
    android:ems="10"
    android:hint="@string/password"
    android:inputType="textPassword" >

</EditText>



<Button
    android:id="@+id/button1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/editText2"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="8dp"
    android:textSize="17sp"
    android:shadowColor="#000000"
    android:shadowRadius="1"
    android:shadowDx="0"
    android:shadowDy="1"
    android:text="@string/login"
    android:textColor="#ffffff"
    android:background="@drawable/button_states" />

<TextView
    android:id="@+id/textView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/button1"
    android:layout_centerInParent="true"
    android:layout_marginTop="23dp"
    android:clickable="true"
    android:text="@string/forgot_password"
    android:textAppearance="?android:attr/textAppearanceMedium"
    android:textSize="13sp" />

<ImageView
    android:id="@+id/imageView2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/textView1"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="23dp"
    android:contentDescription="@string/imgdesc"
    android:src="@drawable/or" />


<Button
    android:id="@+id/button2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/imageView2"
    android:shadowColor="#ffffff"
    android:shadowRadius="1"
    android:shadowDx="0"
    android:textSize="14sp"
    android:textStyle="bold"
    android:shadowDy="1"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="23dp"
    android:text="@string/register"
    android:background="@drawable/create_account"
     />

所以当发生这种情况时,我的徽标会从屏幕上消失,我希望它能够显示出来。最好的例子是Facebook登录屏幕,当你点击editText时,它会压扁所有内容并且徽标仍然可见。那我怎么能达到这样的效果呢?

所以什么时候没有按下: http://postimage.org/image/swdtggnil/

键盘出现时 http://postimage.org/image/5pbdfrftl/

我希望它的行为完全像那样。

1 个答案:

答案 0 :(得分:1)

如果我没有误解你可以添加

 android:windowSoftInputMode="adjustPan"
AndroidManifest.xml

中的

<activity
   android:name="yourActivity"
   android:windowSoftInputMode="adjustPan" >
</activity>