Android的SlidingDrawer用法总结

        SlidingDrawer是从SDK1.5才加入的,具有抽屉展示的效果,可以实现水平和垂直两个方向的展开方式(androidorientation),但是现在google官方已经不推荐使用,左右滑动使用官方地DrawerLayout或者开源的框架slidingMenu,最近还有和actionBar结合使用的NavigationDrawer。如果是上下滑动,目前官方没有替代的控件,可以Scroller类自定义一个。本文主要介绍一下SlidingDrawer的用法,其它的读者可以自己尝试一下,或者我会在后期陆续进行介绍。

1.主要属性

android:allowSingleTap:指示是否可以通过handle打开或关闭

android:orientation:滑动方向(水平和垂直方向)

  android:animateOnClick:指示是否当使用者按下手柄打开/关闭时是否该有一个动画。

  android:content:隐藏的内容

android:handlehandle(手柄)

android:topOffset:手柄与屏幕上边界的间距(负值将会把手柄隐藏)

<SlidingDrawer

        android:id="@+id/slidingdrawer"

        android:layout_width="match_parent"

        android:layout_height="match_parent"

        android:layout_alignParentBottom="true"

        android:layout_centerInParent="true"

        android:content="@+id/content"

        android:handle="@+id/handle"

        android:orientation="vertical"

    android:topOffset="-50dp" >

<ImageView

            android:id="@+id/handle"

            android:layout_width="match_parent"

            android:layout_height="50dp"

            android:layout_alignParentBottom="true"

            android:layout_centerInParent="true"

            android:background="@drawable/popup_btn3"

            android:clickable="false"

            />

<RelativeLayout

            android:id="@+id/content"

            android:layout_width="match_parent"

            android:layout_height="match_parent"

            android:background="@drawable/bg_pop_main"

            android:clickable="true"

            android:orientation="vertical" >

//自定义抽屉展开后要显示的内容

</LinearLayout>

</SlidingDrawer>

2.主要方法

  animateClose():关闭时带有动画效果。

  close():即时关闭,不带有动画效果

  getContent():获取SlidingDrawer内容

  isMoving()返回SlidingDrawer是否在移动。

  isOpened()返回SlidingDrawer是否已全部打开

  lock():屏蔽触摸事件。

  unlock():解除屏蔽触摸事件。

  toggle():切换打开和关闭抽屉SlidingDrawer

  3.监听器接口

1OnDrawerOpenListener:SlidingDrawer的打开事件监听接口 

  mDrawer.setOnDrawerOpenListener(new SlidingDrawer.OnDrawerOpenListener()
  {
   @Override
   public void onDrawerOpened() {
   // SlidingDrawer抽屉打开时触发该方法
   }
   
  });

2OnDrawerCloseListener:SlidingDrawer的关闭事件监听接口
  mDrawer.setOnDrawerCloseListener(new SlidingDrawer.OnDrawerCloseListener(){

//SlidingDrawer抽屉关闭时触发该方法

   @Override
   public void onDrawerClosed() {
   //SlidingDrawer关闭后要处理的事情

   }  });
  (3OnDrawerScrollListener:SlidingDrawer的滑动事件监听接口  mDrawer.setOnDrawerScrollListener(new SlidingDrawer.OnDrawerScrollListener(){

   @Override

//SlidingDrawer滑动结束触发该方法
   public void onScrollEnded() {
    tv.setText("结束拖动");
   }

   @Override

//SlidingDrawer滑动开始触发该方法

   public void onScrollStarted() {
   tv.setText("开始拖动");
   }
     }); }

}

 

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值