SlideMenu
简介
侧滑菜单,在很多App
上都有用到类似的控件,有点类似Material Design
中的NavigationView
。先看下效果:
使用方式
<com.jay.customview.widgets.slidemenu.SlideMenuLayout
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"
tools:context="com.jay.customview.activities.SlideMenuActivity">
<LinearLayout
android:id="@+id/menu_container"
android:orientation="vertical"
android:background="@color/menu_color"
android:layout_width="match_parent"
android:layout_height="match_parent">
<!--add menu layout-->
</LinearLayout>
<LinearLayout
android:id="@+id/main_content_container"
android:orientation="vertical"
android:background="@color/bg_color_blue_dark"
android:layout_width="match_parent"
android:layout_height="match_parent">
<!--add main content layout-->
</LinearLayout>
</com.jay.customview.widgets.slidemenu.SlideMenuLayout>
如上代码所示,使用SlideMenuLayout
作为根布局,保证有两个子布局,第一个是menu
,
第二个是main content
,不能多不能少。
如下操作会使menu
展示:
- 手指从屏幕最左端向右滑动
- 在屏幕任意位置向右快速滑动
menu
展示时,main content
会向右平移并缩小,为menu
的展示腾出位置。
如下操作会使menu
隐藏:
- 点击
main content
区域 - 在屏幕任意位置向左快速滑动
- 在
main content
区域向左滑动
实现
SlideMenuLayout
继承自FrameLayout
,有两个子布局,menu
和main content
。
初始状态下,显示main content
,menu
隐藏。
onTouchEvent
中监听手势操作,改变menu
和main content
的平移位置以及缩放程度。
要源码私信我
QQ:1760064052