如何在多个活动中使用我的BottomNavigationView,但不在其中声明?
我在main_activity.xml中声明了我的底部导航视图并处理了MainActivity类中的单击逻辑,但由于我想在Bottomnavigationview中切换3个活动(Map,Friends,Chats),我必须要三个活动的3个底部导航视图,但由于性能效率低下,我想在一个类和一个布局中处理所有点击事件和视图的初始化 (MainActivity类和main_activity.xml)。
我该怎么办?或者有更好的方法吗?
答案 0 :(得分:1)
您应该使用片段而不是活动。只有1个活动,即MainActivity,在BottomNavigationView上面添加BottomNavigationView和片段。在单击BottomNavigationView时,替换片段。 你的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"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent">
<View
android:id="@+id/bottom_nav_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"/>
<FrameLayout
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignParentTop="true"
android:layout_above="@id/bottom_nav_view"></FrameLayout>
从您的活动中,在FrameLayout中添加片段。您的BottomNavigationView将保持不变。只需在单击NavigationView选项卡时替换此FrameLayout中的片段。