写一些开发中的小技巧
实现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。