当前位置:   article > 正文

滑动菜单栏

滑动菜单栏

 效果如下:

NavigationView 

新建menu布局,表示菜单栏的选项

  1. <menu xmlns:android="http://schemas.android.com/apk/res/android">
  2. <group android:checkableBehavior="single">
  3. <item
  4. android:id="@+id/navCall"
  5. android:icon="@drawable/nav_call"
  6. android:title="Call" />
  7. <item
  8. android:id="@+id/navFriends"
  9. android:icon="@drawable/nav_friends"
  10. android:title="Friends" />
  11. <item
  12. android:id="@+id/navLocation"
  13. android:icon="@drawable/nav_location"
  14. android:title="Location" />
  15. <item
  16. android:id="@+id/navMail"
  17. android:icon="@drawable/nav_mail"
  18. android:title="Mail" />
  19. <item
  20. android:id="@+id/navTask"
  21. android:icon="@drawable/nav_task"
  22. android:title="Tasks" />
  23. </group

group表示item的选项属于group组内,并且设置了group里面的选项为单选

菜单栏由两部分组成,头部和菜单。上面已经实现了菜单。现在要实现头部:

  1. <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
  2. android:layout_width="match_parent"
  3. android:layout_height="180dp"
  4. android:padding="10dp"
  5. android:background="@color/colorPrimary">
  6. <de.hdodenhof.circleimageview.CircleImageView
  7. android:id="@+id/iconImage"
  8. android:layout_width="70dp"
  9. android:layout_height="70dp"
  10. android:src="@drawable/nav_icon"
  11. android:layout_centerInParent="true" />
  12. <TextView
  13. android:id="@+id/mailText"
  14. android:layout_width="wrap_content"
  15. android:layout_height="wrap_content"
  16. android:layout_alignParentBottom="true"
  17. android:text="tonygreendev@gmail.com"
  18. android:textColor="#FFF"
  19. android:textSize="14sp" />
  20. <TextView
  21. android:id="@+id/userText"
  22. android:layout_width="wrap_content"
  23. android:layout_height="wrap_content"
  24. android:layout_above="@id/mailText"
  25. android:text="Tony Green"
  26. android:textColor="#FFF"
  27. android:textSize="14sp" />
  28. </RelativeLayout>

activity_main.xml:

  1. <androidx.drawerlayout.widget.DrawerLayout
  2. xmlns:android="http://schemas.android.com/apk/res/android"
  3. xmlns:app="http://schemas.android.com/apk/res-auto"
  4. android:id="@+id/drawerLayout"
  5. android:layout_width="match_parent"
  6. android:layout_height="match_parent">
  7. <FrameLayout
  8. android:layout_width="match_parent"
  9. android:layout_height="match_parent">
  10. <androidx.appcompat.widget.Toolbar
  11. android:id="@+id/toolbar"
  12. android:layout_width="match_parent"
  13. android:layout_height="?attr/actionBarSize"
  14. android:background="@color/colorPrimary"
  15. android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
  16. app:popupTheme="@style/ThemeOverlay.AppCompat.Light" />
  17. </FrameLayout>
  18. <com.google.android.material.navigation.NavigationView
  19. android:id="@+id/navView"
  20. android:layout_width="match_parent"
  21. android:layout_height="match_parent"
  22. android:layout_gravity="start"
  23. app:menu="@menu/nav_menu"
  24. app:headerLayout="@layout/nav_header"/>
  25. </androidx.drawerlayout.widget.DrawerLayout>

drawerlayout是菜单栏的主体,一般配合NavigationView使用,实现好看的UI界面。drawerlayout的第一个布局是主界面的布局。第二个是打开菜单栏后的菜单栏的布局。此处直接由NavigationView替换即可。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小丑西瓜9/article/detail/607739
推荐阅读
相关标签
  

闽ICP备14008679号