zoukankan      html  css  js  c++  java
  • SlidingPaneLayout实践

    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的效果。 
  • 相关阅读:
    uva11235 FrequentValues (ST表)
    hdu5449 Robot Dog (树形dp+倍增lca)
    [BZOJ1637][Usaco2007 Mar]Balanced Lineup
    [BZOJ1688][Usaco2005 Open]Disease Manangement 疾病管理
    Luogu1119灾后重建
    [APIO2012]派遣
    [HNOI2004]宠物收养场
    [USACO14DEC] 驮运Piggy Back
    [USACO14JAN]滑雪等级Ski Course Rating
    [CODEVS3366] 矿石
  • 原文地址:https://www.cnblogs.com/puff/p/5047795.html
Copyright © 2011-2022 走看看