使用BottomNavigationView的活动

时间:2016-11-01 08:52:52

标签: android android-activity bottomnavigationview

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

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

1 个答案:

答案 0 :(得分:1)

你可以将它作为style.xml

style.xml

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

和, 的manifest.xml

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