Android开发技巧

2,074 阅读1分钟

写一些开发中的小技巧


实现DrawerLayout上汉堡按钮的动画效果



效果图

当侧滑DrawerLayout的时候,左上角的汉堡按钮会有动画发生。

代码实现如下:

ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(
                this, mDrawerLayout, mToolbar, R.string.open_desc, R.string.close_desc
        );
mDrawerLayout.setDrawerListener(toggle);
toggle.syncState();

而且,在使用了ActionBarDrawerToggle之后,就不需要在onOptionsItemSelected()中监听android.R.id.home的点击事件了。

通过返回键关闭DrawerLayout

重写onBackPressed()方法,当DrawerLayout处于打开状态时,先关闭DrawerLayout

代码实现如下:

@Override
public void onBackPressed() {
    if (mDrawerLayout.isDrawerOpen(GravityCompat.START)) {
        mDrawerLayout.closeDrawer(GravityCompat.START);
    } else {
        super.onBackPressed();
    }
}

通过Gradle动态修改app_name

/**
 * 获取当前时间
 * @return 当前时间
 */
def currentTime() {
    return new Date().format("yyyy_MM_dd HH:mm:ss", TimeZone.getTimeZone("GMT+8"))
}

def app_name_release = "Emoticon"
def debug_suffix = "debug"

android{
  ...

  buildTypes {
        release {
            ...
            resValue("string", "app_name", app_name_release)
        }
        debug {
            resValue("string", "app_name", "${app_name_release}_${debug_suffix}_${currentTime()}")
        }
      }

  ...
}

欢迎大家关注我的 StudyNote