SwissArmyKnife Versions Save

android ui调试工具

3.0.1-alpha1

3 years ago

支持任意根view的window

2.1.0-alpha3

3 years ago

2.1.0-alpha2

3 years ago

2.1.0-alpha4

3 years ago

2.0.2

5 years ago

2.0.0

5 years ago

sak-autopilot0.0.2

6 years ago

支持任意window

0.3.1

6 years ago

ver2.1beta

7 years ago

更新日志

  • compile 'com.wanjian:sak:0.1.2.8' (测试版)2017-4-1
    • 自动刷新
    • 关闭功能 SAK.unInstall(application)

0.1.2.4Beta

7 years ago

第二个版本测试版 已提交到master 和 ver2分支,具体更新详见 README.md

更新日志

  • compile 'com.wanjian:sak:0.1.2.4' (测试版)2017-3-10
    • 新增view渲染性能,页面渲染性能
    • 新增单位转换功能,可以控制所有长度的单位
    • 新增view类型功能
    • 新增自定义扩展功能,参考最后的 自定义功能
    • 修复取色器等无法关闭的bug
    • 修复可能存在的内存泄露
    • 修复布局树缩放时的bug

自定义功能



        Config config = new Config.Build(this)
                .viewFilter(new ViewFilter() {
                    @Override
                    public boolean apply(View view) {
                        if (view instanceof ImageView) {
                            return true;
                        }
                        if (view instanceof LinearLayout) {
                            return true;
                        }
                        return false;
                    }
                })
                .addLayerView(new TakeColorView(this))
                .addLayer(new InfoLayer(this))
                .addLayer(new BorderLayer(this))
                .addLayer(new BitmapWidthHeightLayer(this))
                .addLayer(new ViewClassLayer(this))
                .addSizeConverter(new SizeConverter() {
                    @Override
                    public String desc() {
                        return "my converter";
                    }

                    @Override
                    public Size convert(Context context, float length) {
                        return Size.obtain().setLength(length / 2).setUnit("myU");
                    }
                })
                .build();
        SAK.init(this, config);



可以按照如上所示定义自己的ViewFilter,决定要显示哪种view,比如只显示ImageView子类和LinearLayout子类,若想要显示所有可见的view,则直接返回 view.getVisibility()==View.VISIBLE即可。

也可以添加自定义的view和图层,单位转换等。自定义的view要继承自AbsLayerView,自定义图层要继承自AbsLayerLayerAdapterLayerTxtAdapter,区别在于LayerAdapter 的子类可以通过功能界面的层级滚轮进行控制,LayerTxtAdapter 继承自LayerAdapter ,提供了绘制文本的功能。

可以添加多个单位转换SizeConverter,默认提供了原始数值SizeConverter,PX2DP SizeConverter,PX2SP SizeConverter,子定义的SizeConverter需要继承自SizeConverter ,并重写相关方法即可。

然后参考上述初始化SAK即可。

目前SAK提供的Layer如下,默认初始化(SAK.init(Application))会包含如下所有的Layer,通过Config初始化时不会包含任何Layer,可以根据需要添加如下Layer 中的若干个,也可以添加自定义的Layer

  • BackgroundColorLayer
  • BitmapWidthHeightLayer
  • BorderLayer
  • ForceBitmapWidthHeightLayer
  • InfoLayer
  • MarginLayer
  • PaddingLayer
  • PageDrawPerformanceLayer
  • TextColorLayer
  • TextSizeLayer
  • ViewClassLayer
  • ViewDrawPerformanceLayer
  • WidthHeightLayer