SlidingPaneLayout是官方支持的左侧导航控件,效果与SlidingMenu类似。
api设计合理,使用非常简单。
来看一下效果吧!
如何使用
使用方法
布局文件如下:
<android.support.v4.widget.SlidingPaneLayout>
<ViewLeft/>
<ViewContent/>
</android.support.v4.widget.SlidingPaneLayout>
SlidingPaneLayout的width必须指明大小或match_parent,否则抛错。
设置了布局文件,就已经实现了SlidingPane的效果了,现在已经具有了滑动的功能。
通过配置ViewLeft和ViewContent的widthheight,我们可以实现不同的效果。
不过大部分app使用的都是ViewLeft(width=wrap_conent)和ViewContent(width=match_parent)的组合。
API
SlidingPaneLayout的原声效果能满足大部分需求,但是也支持一些自定义效果,需要我们通过api来实现了。
官方文档的API说明没太看懂,写了个demo研究了一下,大部分api也就懂了,整理如下:
setPanelSlideListener
设置滑动监听器。open/close/slide状态都能监听。这个方法应该是比较重要的。
setCoveredFadeColor
设置ViewLeft的衰变颜色。可以理解为从open状态到close状态时候渐变的颜色,从自身的颜色渐变到衰变颜色。
setSliderFadeColor
设置ViewContent的衰变颜色。可以理解为从close状态到open状态时候渐变的颜色,从自身的颜色渐变到衰变颜色。
openPane/closePane
这两个API比较简单,就是open和close动作的API接口。
isOpen
这个是判断状态的,open呢还是close呢。
isSlideable
这个api不是很理解了,感觉有滑动效果的都是true。没有滑动效果的话,这个控件也就没什么价值了。
setParallaxDistance
这个API不是很懂,但是设置了之后比较酷炫,有点像是ScaleAnimation的效果。