仿QQ、微信等的App首页面搭建
首先我们对与中间为container,留给Fragment来发挥作用。我们主要需要做的就是,顶部状态栏和底部导航栏的制作。
如果你喜欢可伸缩的顶部导航栏效果,你可以使用根布局CoordinatorLayout,是一个直接继承自ViewGroup并实现NestedScrollingParent接口的控件,他主要的功能,就是协调其内部各个子空间之间的关系。注意在子View中加入app:layout_behavior="@string/appbar_scrolling_view_behavior"
。
由于我们不需要顶部导航栏和底部导航栏伸缩,所以我们使用最简单的FrameLayout(帧布局)。
中间部分:container
android:id="@+id/lay_container"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginBottom="@dimen/len_52"
/>
然后是底部:BottomNavigation
android:id="@+id/navigation"
android:layout_width="match_parent"
android:layout_height="52dp"
android:layout_gravity="bottom"
android:background="@color/white"
android:elevation="4dp"
android:outlineProvider="bounds"
app:itemIconTint="@color/text_nav"
app:itemTextColor="@color/text_nav"
app:menu="@menu/navigation_items"
tools:visibility="visible" />
然后是顶部ToolBar,有NavigationIcon、title、titlecolor等各种属性,如果想独辟蹊径,实现点有特色的,则需要在其中进行嵌套,如FrameLayout等。
最后呢,就是我们的menu
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:id="@+id/action_home"
android:icon=""
android:title="@string/action_home"
app:showAsAction="ifRoom" />
<item
android:id="@+id/action_group"
android:icon=""
android:title="@string/action_group"
app:showAsAction="ifRoom" />
<item
android:id="@+id/action_contact"
android:icon=""
android:title="@string/action_contact"
app:showAsAction="ifRoom" />
</menu>
其实就是普通的一个页面。