当键盘出现时,Android会滚动到底部

时间:2014-07-12 10:25:58

标签: android login screen

我想我在互联网上尝试了所有解决方案,但在我的登录屏幕上,登录按钮仍在键盘下方。 我想在键盘出现时自动滚动到底部。 这是我的xml代码

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/ScrollView01"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fillViewport="true"
android:scrollbars="none" >


<RelativeLayout 
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:theme="@android:style/Theme.NoTitleBar"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:background="#13a7d8"
 >

  <ImageView
    android:id="@+id/imageView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="-120dp"
    android:src="@drawable/logo_login" />

<EditText
    android:id="@+id/editText1"
    android:layout_width="220dp"
    android:layout_height="wrap_content"
    android:layout_below="@+id/textView1"
    android:layout_centerHorizontal="true"
    android:ems="10"
    android:inputType="textEmailAddress" />

<EditText
    android:id="@+id/editText2"
    android:layout_width="220dp"
    android:layout_height="wrap_content"
    android:layout_below="@+id/benimlabel2"
    android:layout_centerHorizontal="true"
    android:ems="10"
    android:inputType="textPassword" />

<TextView
    android:id="@+id/textView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/imageView1"
    android:layout_marginTop="-130dp"
    android:layout_alignLeft="@+id/editText1"
    android:textColor="#FFFFFF"
    android:text="@string/eposta"
    android:textAppearance="?android:attr/textAppearanceLarge" />

<TextView
    android:id="@+id/benimlabel2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/editText1"
    android:layout_alignLeft="@+id/editText2"
    android:textColor="#FFFFFF"
    android:text="@string/sifre"
    android:textAppearance="?android:attr/textAppearanceLarge" />



<Button
    android:id="@+id/button1"
    android:layout_width="220dp"
    android:layout_height="wrap_content"
    android:layout_below="@+id/editText2"
    android:layout_centerHorizontal="true"
    android:text="@string/girisyap" />

<TextView
    android:id="@+id/textView2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/button1"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="30dp"
    android:text="Hesabın yoksa, hemen kayıt ol"
    android:textAppearance="?android:attr/textAppearanceMedium"
    android:textColor="#FFFFFF"
    android:clickable="true"
    android:onClick="kayitol" />

</RelativeLayout>
</ScrollView>

我在清单文件中尝试了不同的解决方案

android:windowSoftInputMode="stateVisible|adjustPan"

其他尝试

android:windowSoftInputMode="stateVisible"

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

这段代码对我有用。

将此信息放入活动的onResume()

((ScrollView) findViewById(R.id.ScrollView01)).post(new Runnable() 
{
    public void run() 
    {
        ((ScrollView) findViewById(R.id.ScrollView01)).fullScroll(View.FOCUS_DOWN);
}
});