在我的应用中,调用键盘时,工具栏将向上移动。如何防止工具栏向上移动?
以下是使活动全屏显示的代码:
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);
getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_STABLE);
布局:
<RelativeLayout xmlns:android=".."
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true">
<android.support.design.widget.AppBarLayout
android:layout_alignParentTop="true"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/toolbar_background">
<include layout="@layout/layout_toolbar" />
</android.support.design.widget.AppBarLayout>
<ScrollView.......>
<RelativeLayout......>
<EditText....><!--There are multiple EditTexts here.-->
</RelativeLayout>
答案 0 :(得分:1)
在清单中为Activity
添加此行
android:windowSoftInputMode="adjustResize"
答案 1 :(得分:0)
在工具栏的根布局中添加android:fitsSystemWindows="true"
在大多数情况下,您的应用无需在状态栏或 导航栏,但如果要这样做:您需要确保交互式 元素(如按钮)并未隐藏在其下方。那就是 android:fitsSystemWindows =“ true”属性的默认行为 给您:它设置视图的填充以确保内容 不要覆盖系统窗口。
请记住以下几点:
fitsSystemWindows首先应用深度-排序问题:这是 消耗差异的插图的第一个视图
来自https://medium.com/androiddevelopers/why-would-i-want-to-fitssystemwindows-4e26d9ce1eec
基本上,您是在告诉工具栏不要移动并停留在顶部,而是将其下方的视图向上移动至其下方
答案 2 :(得分:0)
如果在AppBarLayout中适合您的UI要求,则可以使用CollapsingToolBarLayout。
<android.support.design.widget.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<android.support.design.widget.CollapsingToolbarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<android.support.v7.widget.Toolbar
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:ripple="http://schemas.android.com/apk/res-auto"
android:id="@+id/tv_toolbar"
android:layout_width="match_parent"
android:layout_height="50dp"
android:background="#fff"
ripple:contentInsetStart="0dp">
</android.support.v7.widget.Toolbar>
</android.support.design.widget.CollapsingToolbarLayout>
</android.support.design.widget.AppBarLayout>