4

我正在将新的 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);

有没有办法使用具有流畅用户体验的活动?

4

1 回答 1

1

你可以这样做 style.xml

样式.xml

<style name="AppTheme> <item name="android:windowAnimationStyle">@null</item> <style>

并且,manifest.xml

<activity android:theme="@style/AppTheme" />

于 2016-12-30T17:11:38.073 回答