键盘出现时,UI组件不会向上移动(ANDROID)

时间:2016-08-25 05:57:19

标签: android android-layout keyboard

所以这是一个常见的问题,我猜这就是为什么我很容易找到像thisthis这么多相关的问题,而且我也跟着google的android开发者的article这与我的问题有关。但没有什么对我有用,我想在键盘出现时向上移动我的按钮(位于屏幕的底部) 我的活动家的Xml:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/bgfl"
android:windowSoftInputMode="stateVisible|adjustResize"> // i tried to set the windowSoftInputMode right here  

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#9bef414c">

<EditText
    android:layout_width="wrap_content"
    android:layout_height="40dp"
    android:inputType="textEmailAddress"
    android:ems="10"
    android:id="@+id/editText"
    android:layout_centerVertical="true"
    android:layout_alignParentRight="true"
    android:layout_alignParentEnd="true"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true"
    android:layout_marginLeft="10dp"
    android:layout_marginRight="10dp"
    android:background="#ffffff"
    android:hint="Email" />

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textAppearance="?android:attr/textAppearanceSmall"
    android:text="bla bla bla bla bla"
    android:id="@+id/textView6"
    android:layout_above="@+id/editText"
    android:layout_centerHorizontal="true"
    android:layout_marginBottom="40dp"
    android:textSize="17sp"
    android:textColor="@color/light_font"
    android:shadowColor="@color/text_shadow"
    android:shadowDx="1"
    android:shadowDy="1"
    android:shadowRadius="8"/>

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textAppearance="?android:attr/textAppearanceLarge"
    android:text="BLAAAAAAAAAAAAA"
    android:id="@+id/textView9"
    android:layout_above="@+id/textView6"
    android:layout_centerHorizontal="true"
    android:textAlignment="center"
    android:textIsSelectable="false"
    android:textSize="60sp"
    android:textColor="@color/light_font"
    android:shadowColor="@color/text_shadow"
    android:shadowDx="1"
    android:shadowDy="1"
    android:shadowRadius="8"/>

    <Button
        android:layout_width="match_parent"
        android:layout_height="50dp"
        android:text="Next"
        android:id="@+id/button"
        android:layout_alignParentBottom="true"
        android:layout_centerHorizontal="true"
        android:textSize="20sp"
        android:background="#ffffff"
        android:textColor="@color/colorAccent" />

</RelativeLayout>

我也尝试过以编程方式 在我的活动课上:

getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);

以上也没有奏效

我也在我的清单中这样做了:

 <myActivity 
 android:windowSoftInputMode="stateVisible|adjustResize">

它也没有用。

好像我错过了任何人都可以指出的东西?

2 个答案:

答案 0 :(得分:1)

添加android:fitsSystemWindows="true" 在包含活动标记的清单文件中

答案 1 :(得分:1)

headerCt

在您的父视图组中添加此内容,

  <activity 
         android:name=".activity.SignUpProfileDetailActivity"
         android:configChanges="orientation|keyboardHidden|screenSize|screenLayout"
         android:screenOrientation="portrait"
         android:windowSoftInputMode="adjustResize|stateAlwaysHidden"/>