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);
    }

  • 相关阅读:
    运算符重载
    vmware 下 ubuntu 不能全屏显示 的解决方法
    最优化
    常见算法(logistic回归,随机森林,GBDT和xgboost)
    转:CRF++词性标注
    条件随机场(CRF)理论及应用
    转:RNN(Recurrent Neural Networks)
    RNN(Recurrent Neural Networks)公式推导和实现
    ML、DL相关资源
    机器学习(周志华西瓜书) 参考答案 总目录
  • 原文地址:https://www.cnblogs.com/wojiaozhanglei/p/4734821.html
Copyright © 2011-2022 走看看