我将新的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);
有没有办法使用流畅的用户体验活动?
答案 0 :(得分:1)
你可以将它作为style.xml
style.xml
<style name="AppTheme>
<item name="android:windowAnimationStyle">@null</item>
<style>
和, 的manifest.xml
<activity
android:theme="@style/AppTheme" />