使用BottomNavigationView与Activity

4
我正在将新的BottomNavigationView集成到现有项目中。我想知道是否有一种干净、流畅的方式(从用户体验的角度)来使用活动(而不是片段)与这个小部件配合使用。我们有复杂的活动,我们不想在这个迭代中更改它们,最好根本不更改,因为这会涉及到责任的分离。我已经采用了以下方法使用活动,但是它很卡顿,并且活动选项卡指示器似乎在更改选项卡之前重置自己。
目前,我在我的基础活动中拥有底部导航栏(公开、受保护)。在我的项目选择监听器中,我使用活动转换启动其他活动(将当前活动中的底部导航视图淡出到其他(新)活动中的相同视图中):
Bundle transition = ActivityOptionsCompat.makeSceneTransitionAnimation(
          getActivity(), bottomNavigationView, TRANSITION_NAME).toBundle();

将这个Bundle传递给startActivity()方法。我还调用了overridePendingTransition()方法以获得更流畅的过渡效果,但总体来说仍然很卡顿,而且如我所提到的,活动选项卡指示器存在问题。不用说,您必须自己处理视图的选中状态的更改。对于我的玩具项目,我是通过以下方式(在我的活动的OnCreate()方法中)实现的:

bottomNavigationView.getMenu().getItem(1).setChecked(false);
bottomNavigationView.getMenu().getItem(2).setChecked(false);
bottomNavigationView.getMenu().getItem(3).setChecked(false);
bottomNavigationView.getMenu().getItem(4).setChecked(false);

bottomNavigationView.getMenu().getItem(0).setChecked(true);

有没有一种使用活动(Activity)并具有流畅用户体验的方法?

这里有一个类似的问题我已经回答过了:https://dev59.com/UlgR5IYBdhLWcg3wGaEK#42811144 - javaxian
1个回答

1

你可以将其作为 style.xml 完成。

style.xml

同时,在manifest.xml中:

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接