美文网首页
kotlin NavigationView+toolbar

kotlin NavigationView+toolbar

作者: 差很多先生CL | 来源:发表于2018-12-05 21:49 被阅读0次

    在上一篇文章的基础上。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)
    

    相关文章

      网友评论

          本文标题:kotlin NavigationView+toolbar

          本文链接:https://www.haomeiwen.com/subject/jelgcqtx.html