我该如何解决底部导航在按下后退按钮时隐藏父片段底部内容的问题?

时间:2019-09-19 11:59:58

标签: android bottomnavigationview

我的主要活动有5个底部导航选项。我在活动中放置了一个片段。每当我从其子片段返回时,该片段的内容就会位于底部导航视图的后面。我该如何解决?

activity_main.xml

<LinearLayout
    android:id="@+id/container"
    android:layout_width="match_parent"
    android:gravity="center"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:background="@color/white"
    tools:context="com.work.workapp.MainActivity">

    <FrameLayout
        android:id="@+id/fragment_container"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1">
    </FrameLayout>

    <android.support.design.widget.BottomNavigationView
        android:id="@+id/navigation"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="bottom"
        android:background="?android:attr/windowBackground"
        app:menu="@menu/navigation" />

</LinearLayout>

newsfeed.xml

<android.support.design.widget.CoordinatorLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <android.support.design.widget.AppBarLayout>
        <android.support.design.widget.CollapsingToolbarLayout>
            <android.support.v7.widget.Toolbar/>
        </android.support.design.widget.CollapsingToolbarLayout>
    </android.support.design.widget.AppBarLayout>

    <android.support.v7.widget.RecyclerView
        android:id="@+id/recyclerView_feed_post"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        app:layout_behavior="@string/appbar_scrolling_view_behavior"
        android:layout_below="@id/app_bar"
        android:background="@color/background"
        android:scrollbars="vertical" />

</android.support.design.widget.CoordinatorLayout>

recyclerview_single_element

<LinearLayout>
    <android.support.v7.widget.CardView>
            <!-- view button -->
            <FrameLayout>
                <Button
                    android:id="@+id/btn_view"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:background="@color/transparent"
                    android:gravity="center|fill_horizontal" />
            </FrameLayout>
    </android.support.v7.widget.CardView>
</LinearLayout>
recyclerview适配器中的

button_click事件

myViewHolder.button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                OpenPost op = new OpenPost();
                FragmentTransaction ft = ((AppCompatActivity)view.getContext()).getSupportFragmentManager().beginTransaction();
                ft.replace(R.id.fragment_container, op, "").addToBackStack(null);
                ft.commit();
            }
        });

0 个答案:

没有答案