kotlin NavigationView+toolbar

在上一篇文章的基础上。https://www.jianshu.com/p/fc32d3cf4ebd我们加入侧边栏功能。
官方提供了NavigationView的组件。

效果

image.png

Navigation+toolbar

首先是Navigation,没有什么问题

<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
  android:id="@+id/drawer_layout"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  android:fitsSystemWindows="true"
  xmlns:app="http://schemas.android.com/apk/res-auto">

  <include
    layout="@layout/app_bar_main"
    android:layout_width="match_parent"
    android:layout_height="match_parent" />
  <android.support.design.widget.NavigationView
    android:id="@+id/nav_view"
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:layout_gravity="start"
    android:fitsSystemWindows="true"
    app:headerLayout="@layout/nav_header_main"
    app:menu="@menu/activity_main_drawer" />

</android.support.v4.widget.DrawerLayout>
app_bar_main
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout android:id="@+id/main_linear"
  xmlns:android="http://schemas.android.com/apk/res/android"
  xmlns:tools="http://schemas.android.com/tools"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  android:orientation="vertical"
  tools:context=".MainActivity"
  xmlns:app="http://schemas.android.com/apk/res-auto">
    <android.support.v7.widget.Toolbar
      android:id="@+id/tool_bar"
      android:layout_width="match_parent"
      android:layout_height="?attr/actionBarSize"
      android:layout_marginTop="0dp"
      xmlns:app="http://schemas.android.com/apk/res-auto"
      app:navigationIcon="@drawable/user">
      <LinearLayout
        android:layout_width="220dp"
        android:layout_height="match_parent"
        android:layout_marginLeft="20dp"
        android:layout_marginRight="20dp"
        android:orientation="horizontal">
    </android.support.v7.widget.Toolbar>

  <android.support.v4.view.ViewPager
    android:id="@+id/view_pager"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content">
  </android.support.v4.view.ViewPager>

</LinearLayout>
更改toolbar左侧图标
tool_bar.setNavigationIcon(R.drawable.user)
更改右侧图标

styles.xml

<resources>

  <!-- Base application theme. -->
  <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
    <!-- Customize your theme here. -->
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
    <item name="actionOverflowButtonStyle">@style/OverflowStyle</item>
  </style>
  <style name="OverflowStyle">
     <item name="android:src">@drawable/user</item>
  </style>
</resources>

禁止侧滑栏滑动
drawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED)
设置不显示toolbar上的默认title
supportActionBar?.setDisplayShowTitleEnabled(false)

推荐阅读更多精彩内容

  • 今天特别能感觉到有过年的味道,我静静地坐在办公桌,认真听着却不参合他们的对话,是的,快回家了。 今天广州天气超好,...
    后知先生阅读 36评论 0 0
  • 你说不负今生,坚如磐石; 后来岁月蹉跎,胭脂泪尽。 你说志如鸿鹄,青梅煮酒; 后来天南海北,单影行只。 你说方圆城...
    雅致的慧姑娘阅读 147评论 0 7
  • “别提钱,提钱伤感情”,在移动社交勃兴的年代,“红果果”的金钱在微信红包的产品形态中润物细无声地脱胎换骨,成为增进...
    新盟阅读 85评论 0 1
  • 作者:彭星华 时间:2016-09-10 教师节之际, 祝福送武立, 极不合时宜。 人的措辞, 苍白无力。 十七八...
    彭星华彭医生阅读 116评论 0 0
  • 世界上有很多很多地方,我们再怎么空闲也不可能观察到每个角落中发生的事,所以就算整个世界上充满了光明,也会有光明触及...
    zhzhhhhhhhhh阅读 181评论 0 0