一个开发工具(“当前Activity”)的二次开发项目

发布于 2018-01-13  69 次阅读


大家还记得GooglePlay上面的那个开发者小工具“当前Activity”吗?
当一个项目比较庞大的时候,想必都有想去某个页面,但忘记类名,只能在代码里顺着逻辑找类名的情况吧( ̄▽ ̄)/,苦逼不说,还非常耗时间。
GitHub的109021017写了个小工具,直接将每个页面显示当前Activity的类名和包名(`・ω・´)显示在平面左上角,可以说是灰常的方便。
这里写图片描述

不过呢,原作者做的比较豪爽,在下在使用的时候经常出现遮挡文字等问提,然后,源码呢在九个月之前就已经停止更新了。

所以,处女座的在下就打算手动折腾下。优化谈不上,算是在原作者的基础上做了些改动
因为最近在持续修改中,所以现在还不是很稳定。

改动如下:

  • 0.取消了使用"辅助功能"(无障碍)获取 Activity(关于这个问题,原作者在GooglePlay上已经做了这个优化,但这部分并未开源在GitHub上面),关于这个功能,我的实现方法已经丢到了GitHub上面,大家有兴趣可以看看。
  • 1.将原来显示到顶部的悬浮框做成了可拖动的效果。效果如下:
    [外链图片转存失败(img-HtOxo6rt-1564315915681)(https://github.com/KosmoSakura/android-TopActivity/raw/master/img/show.gif)]
  • 2.关于一些入口的调整:
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
    switch (buttonView.getId()) {
       case R.id.sw_window://显示可拖拽悬浮窗
                if (isChecked) {
                    TasksWindow.getInstance(this).show(true, getPackageName() + "\n" + getClass().getName());
                } else {
                    TasksWindow.getInstance(this).dismiss();
                }

                new Handler().postDelayed(new Runnable() {
                    @Override
                    public void run() {
                        refreshWindowSwitch();
                    }
                }, 1000);
                break;
     case R.id.sw_notification://快速设置开关启用时关闭通知开关
                if (isChecked) {
                    NotificationReceiver.showNotification(this, false);
                } else {
                    NotificationReceiver.cancelNotification(this);
                }
                new Handler().postDelayed(new Runnable() {
                    @Override
                    public void run() {
                        refreshNotificationSwitch();
                    }
                }, 1000);
                break;
        }
    }
  • 3.改了下框框
    这里写图片描述
  • 4.未完待续,详情见GitHub(这个地址是在原作者和仓库下的一个分支。):https://github.com/KosmoSakura/android-TopActivity

赤夜染尽 千樱散落 零时夜雨 无茵之音