停止键盘推动对齐到底部视图

时间:2017-10-12 13:43:09

标签: android view android-softkeyboard android-constraintlayout

我的ConstraintLayout具有以下层次结构:

<android.support.constraint.ConstraintLayout
   android:layout_width="match_parent"
   android:layout_height="match_parent">

   <EditText
           app:layout_constraintStart_toStartOf="parent"
           app:layout_constraintEnd_toEndOf="parent"
           app:layout_constraintTop_toBottomOf="parent"/>

   <RecyclerView
           android:layout_width="0dp"
           android:layout_height="0dp"
           app:layout_constraintStart_toStartOf="parent"
           app:layout_constraintEnd_toEndOf="parent"
           app:layout_constraintBottom_toTopOf="Button"
           app:layout_constraintTop_toBottomOf="EditText"/>

   <Button
           app:layout_constraintBottom_toBottomOf="parent"
           app:layout_constraintEnd_toEndOf="parent"
           app:layout_constraintStart_toStartOf="parent"/>

</ConstraintLayout>

EditText获得焦点时,键盘会弹出,推动Button(以及RecyclerView)。我不希望这种情况发生,让键盘自由而不会推动任何视图。

我尝试了很多android:windowSoftInputMode组合(例如下面的例子)但没有运气。还有ScrollView&#34; hack&#34;但也没有运气。

<activity 
    android:name=".Activity" 
    android:screenOrientation="portrait" 
    android:windowSoftInputMode="adjustPan"/> 

我怎样才能做到这一点?
谢谢你的时间。

ps:我能想到的唯一解决方案是在键盘出现时隐藏Button

2 个答案:

答案 0 :(得分:1)

这样做

<activity
   ...
   android:windowSoftInputMode="adjustPan"> 
</activity>

答案 1 :(得分:1)

尝试使用adjustNothing而不是adjustPan

<activity
     ...
     android:windowSoftInputMode="adjustNothing"> 
</activity>