【问题标题】:How to have a view over several activities如何查看多个活动
【发布时间】:2017-06-01 23:30:31
【问题描述】:
我怎样才能让我的 BottomNavigationView 在几个活动中但不在那里声明?
我在我的 main_activity.xml 中声明了我的底部导航视图并处理 MainActivity 类中的点击逻辑,但由于我想使用底部导航视图在 3 个活动(地图、朋友、聊天)之间切换,所以我必须有 3 个底部三个活动的导航视图,但由于性能低下,我想处理一个类和一个布局内的所有点击事件和视图初始化
(MainActivity 类和 main_activity.xml )。
我能做什么?还是有更好的方法?
【问题讨论】:
标签:
android
android-activity
view
bottomnavigationview
【解决方案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 中的片段。