美好的一天,先生们!我有一个带有 TabLayout+ViewPager 和 2 个片段的 Activity。在第一个片段中,我有一个带有一些项目的 RecyclerView 和工具栏中的 SearchView。当您的搜索查询使 RecyclerView 消失时,我想显示占位符(我的意思是您没有找到任何结果和RecyclerView.setVisibility(GONE)
)。所以这是我的 Fragment.xml:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/pale_grey">
<android.support.v7.widget.RecyclerView
android:id="@+id/rv_results"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scrollbars="vertical"
android:scrollbarThumbVertical="@android:color/darker_gray"
android:scrollbarSize="4dp"/>
<LinearLayout
android:id="@+id/ll_no_categories"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignParentBottom="true"
android:layout_below="@+id/toolbar"
android:gravity="center"
android:orientation="vertical"
android:visibility="gone"
android:fitsSystemWindows="true">
<ImageView
android:layout_width="100dp"
android:layout_height="100dp"
android:layout_marginBottom="24dp"
android:visibility="visible"
app:srcCompat="@drawable/vector_search_big" />
<TextView
android:id="@+id/tv_no_categories"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:text="@string/activity_home_services_category_list_empty"
android:textColor="@color/black_40"
android:textSize="16sp"/>
</LinearLayout>
</RelativeLayout>
因此,当我ItemList.size = 0
将 RecyclerView 设置为GONE
和. 我遇到的问题:在我的活动清单中,此活动中的片段不适用于该活动中的片段-占位符仍在键盘下方的一半处。我在没有 Fragment 的 Activity 中做了同样的事情,我唯一做的事情 -在 Activity Manifest 中设置。如何用 Fragment 处理这个问题?LinearLayout
VISIBLE
adjustResize
adjustResize
UPD:嗯,我找到了调整 Fragment 大小的解决方案 - 我在 Activity 的根元素中添加了 fitSystemWindows=true - 但它破坏了我的状态栏......