我正在将新的 BottomNavigationView 集成到现有项目中。我想知道是否有一种干净流畅的方式(UX-wise)来使用这个小部件的活动(而不是片段)。我们有复杂的活动,我们宁愿在这次迭代中不改变,最好根本不改变,因为关注点分离。我已经设法使用以下方法使用活动,但它很紧张,并且活动选项卡指示器似乎在更改选项卡之前自行重置。
目前,我的基本活动中有底部导航底部(暴露,受保护)(所有其他活动都扩展了此类)。在我的项目选择侦听器中,我使用活动转换启动其他活动(将当前活动中的底部导航视图淡入另一个(新)活动中的相同视图):
Bundle transition = ActivityOptionsCompat.makeSceneTransitionAnimation(
getActivity(), bottomNavigationView, TRANSITION_NAME).toBundle();
并将此捆绑包传递给 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);
有没有办法使用具有流畅用户体验的活动?