#仿QQ侧滑菜单(一)
最近做一个课设,想搞一个类似于qq的侧滑菜单,看了好多帖子,觉着有点乱,就看了一下《第一行代码》,不过此书上有好多库和类都换了。
为了方便后来者少走弯路,就写了这篇帖子(先写个侧滑的轮廓,后续会补充)
先放个效果图
DrawerLayout控件
借助了谷歌的DrawerLayout控件,实现简单方便、易操作。
先放总代码,后对各块代码进行解说
侧滑样式代码(activity_main.xml代码)
<?xml version="1.0" encoding="utf-8"?>
<androidx.drawerlayout.widget.DrawerLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent">
<FrameLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<androidx.appcompat.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light"/>
</FrameLayout>
<com.google.android.material.navigation.NavigationView
android:id="@+id/nav_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="start"
app:menu="@menu/nav_menu"
app:headerLayout="@layout/nav_header"/>
</androidx.drawerlayout.widget.DrawerLayout>
1、第一个FrameLayout控件是主屏幕中显示的内容。
不过,我在这里写的是toolbar。
2、第二个控件是侧滑菜单的样式。
其中最主要的代码是android:layout_gravity=“start”
android:layout_gravity="start"
left表示滑动菜单在左边
right表示滑动菜单在右边
start则是根据系统语言进行判断
这里我就只把侧滑菜单的框架写出来,我将会在下一篇将其贴出来,免得比较乱。
可以用textview或者Button控件代替它设置一下,这里就不叙述了。
这个不能像QQ一样在界面上滑动就能左侧划出,而是要在左侧滑,才能显示侧滑菜单
另一片已经写好,现在贴出来了
https://editor.csdn.net/md/?articleId=104373869
https://editor.csdn.net/md/?articleId=104373869