zoukankan      html  css  js  c++  java
  • android学习笔记:DrawerLayout实现侧边栏

    DrawerLayout需要的布局文件

    首先要以 android.support.v4.widget.DrawerLayout 作为标签。

    另外需要将设置的侧边栏布局的 android:layout_gravity="start" start设置为左边布局,end设置为右边布局。

    在activity中的代码:

    private DrawerLayout mDrawerLayout;
    private ActionBarDrawerToggle mActionBarDrawerToggle;

    //  ActionBarDrawerToggle  应该用的 android.support.v7.app.ActionBarDrawerToggle 包中的。如果没有请inport V7库 support/v7/appcompat

    //得到的是侧边栏的id

    mDrawerLayout = (DrawerLayout) findViewById(R.id.f1);

    mActionBarDrawerToggle = new ActionBarDrawerToggle(this, mDrawerLayout,
    R.string.open, R.string.close);

    //对mDrawerLayout 进行监听。

    mDrawerLayout.setDrawerListener(new DrawerListener() {

    @Override
    public void onDrawerStateChanged(int arg0) {
    mActionBarDrawerToggle.onDrawerStateChanged(arg0);
    }

    @Override
    public void onDrawerSlide(View arg0, float arg1) {
    mActionBarDrawerToggle.onDrawerSlide(arg0, arg1);
    }

    @Override
    public void onDrawerOpened(View arg0) {
    mActionBarDrawerToggle.onDrawerOpened(arg0);
    }

    @Override
    public void onDrawerClosed(View arg0) {
    mActionBarDrawerToggle.onDrawerClosed(arg0);
    }
    });

    注:另外一种简单监听方式

    mDrawerLayout.setDrawerListener(mActionBarDrawerToggle);

    @Override
    protected void onPostCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onPostCreate(savedInstanceState);
    mActionBarDrawerToggle.syncState();
    }

    public boolean onOptionsItemSelected(MenuItem item) {

    return mActionBarDrawerToggle.onOptionsItemSelected(item)
    || super.onOptionsItemSelected(item);
    }

  • 相关阅读:
    logging——日志——转载02
    logging——日志——转载03
    c# 整型数据与字符串 的之间互换(原创)
    收到邮件且自动发送到对方提供的邮箱
    学习了1!+...10!
    Outlook 2003 Add in 部署笔记
    学会了调用方法
    c# 属性的作用
    (转)软件的围城,谈高级语言的学习(一位架构师的忠告!)
    常用命令控制行
  • 原文地址:https://www.cnblogs.com/wojiaozhanglei/p/4734821.html
Copyright © 2011-2022 走看看