我使用CoordinatorLayout
和AppBarLayout
实施Toolbar
以在滚动时隐藏工具栏,并且所有工作都在工作。
当我实现搜索视图时出现问题
这是我的activity_main
布局:
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/main_content"
android:layout_width="match_parent"
android:layout_height="match_parent">
<FrameLayout
android:id="@+id/main_container"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior" />
<android.support.design.widget.AppBarLayout
android:id="@+id/appbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
app:layout_scrollFlags="scroll|enterAlways"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light" />
<View
android:id="@+id/appbar_bottom"
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="@android:color/transparent"
android:visibility="invisible"/>
</android.support.design.widget.AppBarLayout>
</android.support.design.widget.CoordinatorLayout>
我的fragment_layout
:
<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.SwipeRefreshLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/projects_swipe_layout"
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.v7.widget.RecyclerView
android:id="@+id/projects_recycler_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scrollbars="vertical"/>
</android.support.v4.widget.SwipeRefreshLayout>
普通布局RecyclerView
键盘隐藏时的问题。
答案 0 :(得分:1)
您可以控制appBarLayout的可扩展行为:
首先,通过将这些行放在清单中,可以在键盘显示和隐藏时禁用应用栏折叠效果。
<activity android:name="MyActivity"
...
android:windowSoftInputMode="adjustNothing"
...
</activity>
然后,只需在需要时展开/折叠应用程序栏即可:
appbar.setExpanded(true); / appbar.setExpanded(false);
当EditText具有焦点时,您可以折叠,而当外部视图接触时,您可以展开。.
(someView.setOnTouchListener ...)
答案 1 :(得分:0)
在这里回答: Android : Showing keyboard moves my components up, i want to hide them instead
添加android:windowSoftInputMode =&#34; adjustPan&#34;显示 - 对应的活动:
<activity android:name="MyActivity"
...
android:windowSoftInputMode="adjustPan"
...
</activity>