我面临一个我无法解决的问题。这相当简单。
我有一个视图,其中我有一个EditText
,一个FloatingActionButton
和一个BottomNavigationView
。当我选择EditText
键盘弹出。这是我希望FloatingActionButton
漂浮在键盘上方BottomNavigationView
并隐藏在键盘后面的时候。
我试过同时使用android:windowSoftInputMode
asadjustResize
和 as adjustPan
。前者会使FloatingActionButton
和保持BottomNavigationView
隐藏在键盘后面。后者将推动键盘上方的FloatingActionButton
和向上。BottomNavigationView
除此之外,我尝试使用一个简单的自定义 元素,在检测到键盘时将BottomNavigationView
其设置为自己的(使用viewTreeObserver和addOnGlobalLayoutListener)。这与 配合使用,但在 kayboard 弹出您可以看到 的位置后会有一点延迟,使其看起来非常“跳跃”。visibility
hidden
adjustResize
BottomNavigationView
我现在的问题是;是否有替代解决方案?
编辑 这是我当前的 xml,它非常简单。
<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity"
android:fitsSystemWindows="false">
<EditText
android:id="@+id/editText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="10"
android:inputType="textPersonName"
android:text="Name" />
<android.support.design.widget.FloatingActionButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_anchor="@id/navigation"
android:layout_margin="10dp"
android:layout_gravity="top|end"
app:layout_anchorGravity="right"/>
<android.support.design.widget.BottomNavigationView
android:id="@+id/navigation"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginEnd="0dp"
android:layout_marginStart="0dp"
android:background="?android:attr/windowBackground"
android:layout_gravity="bottom"
android:elevation="20dp"
app:menu="@menu/navigation" />
</android.support.design.widget.CoordinatorLayout>