Android中的小技巧

双击 view 执行 runnable

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
public static void setDoubleClickRunnable(View view, Runnable task) {
new DoubleClick().click(view, task);
}

private static class DoubleClick {
private int count = 0;

// 双击 View 触发 task
void click(View view, Runnable task) {
view.setOnClickListener(v -> {
if (++count >= 2) {
task.run();
return;
}
new Timer().schedule(new TimerTask() {
@Override
public void run() {
count = 0;
}
}, 500);
});
}
}

例如:双击回到顶部

1
2
// 双击 toolbar,让 webivew 回到顶部
Uview.setDoubleClickRunnable(mToolbar, () -> mWebView.scrollTo(0, 0));

按返回键,返回到桌面而不销毁程序

解决办法:在需要退出的地方,使用Activity.moveTaskToBack(true)方法

具体代码:

1
2
3
4
5
6
7
8
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if(keyCode == KeyEvent.KEYCODE_BACK && mContext.isTaskRoot()){
moveTaskToBack(true);
return true;
}
return super.onKeyDown(keyCode, event);
}

外部链接

跳过欢迎界面时机

原理:使用 Application 的生命周期。(在后台未被清理的时候,再次打开程序时 Application 的onCreate()方法不会再执行。)

关于 Application 的 onCreate()方法:
在应用的第一个组件启动之前,系统会先调用此方法。

外部链接

给 Activity 添加快捷方式到桌面

外部链接

运行 java 文件

在 Android Studio 中的 app module 中运行 Java 测试代码,会发现很慢;
可以尝试创建 java library 模块来运行 java 测试今古代码;