出现软键时,将视图锚定到屏幕顶部

时间:2017-06-16 16:47:18

标签: android android-softkeyboard

看起来像一个简单的问题,但我找不到任何解决方案。

我的布局层次结构也很简单:

<RelativeLayout
    ...>
    <LinearLayout
        android:id="@id/header"
        android:layout_alignParentTop="true"
        ...>
    />
    <RecyclerView
        ...>
    />
    <RelativeLayout
        android:id="@id/footer"
        android:layout_alignParentBottom="true"
        ...>
    />
</RelativeLayout>

会发生什么: 我有一个EditText,它是页脚布局的子项。当它获得焦点时,软键盘出现,整个布局被拉起。

我想要实现的目标: ...,软键盘出现,标题保持在顶部,页脚将被拉到软键盘上方(就像现在一样),唯一调整大小的视图将是RecyclerView

我尝试了几十种与windowSoftInputMode的组合,将我的布局与ScrollView相结合......但没有任何帮助。

一定很容易,不是吗?

编辑:布局是DialogFragment的内容视图

1 个答案:

答案 0 :(得分:0)

你可以添加整个代码,这样我就可以测试一下,这将有助于我们找出确切的问题。虽然我尝试了一些工作正常的东西。检查下面的答案

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">

<RelativeLayout
    android:id="@+id/view_header"
    android:layout_width="match_parent"
    android:layout_height="50dp"
    android:layout_alignParentTop="true"
    android:background="#00ff00" />

<RecyclerView
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_below="@id/view_header"
    android:layout_above="@+id/view_footer"
    android:background="#006655"/>

<RelativeLayout
    android:id="@+id/view_footer"
    android:layout_width="match_parent"
    android:layout_height="50dp"
    android:layout_alignParentBottom="true"
    android:background="#009911" >

    <EditText
        android:layout_width="match_parent"
        android:layout_height="match_parent" />


</RelativeLayout>