SwissArmyKnife 是一款方便调试android UI的工具。能够直接在android设备屏幕上显示控件的相关信息,多是你用过的最强的Android UI工具android
compile 'com.wanjian:sak-autopilot:0.4.0-beta9'
git
no opt 包 compile 'com.wanjian:sak-nop:0.0.3'
github
开启
SAK.init(Application application, Config config)
关闭
SAK.unInstall();
复制代码
启动app后会在屏幕右侧看到一个 蓝色靶心
,双击
便可进入功能界面。bash
开启拾取控件选项后,拖动圆环到要拾取的控件位置便可。能够获取字体颜色,大小,背景色等信息(支持SpannableString)app
开启编辑控件选项后,长按
须要编辑的控件便可弹出编辑窗口,能够修改内外边距大小,字体颜色、大小、背景色等(该功能和相对距离、移动控件功能冲突,请勿同时开启)
工具
开启相对距离选项后,依次长按
两个控件便可显示两个控件间的水平和竖直距离,距离默认单位是dp,能够经过功能界面的单位选项切换单位(该功能和编辑控件、移动控件功能冲突,请勿同时开启)
性能
开启移动控件选项后,长按
控件便可拖动,距离默认单位是dp,能够经过功能界面的单位选项切换单位(该功能和编辑控件、移动控件功能冲突,请勿同时开启)
字体
开启取色器选项后,会在屏幕显示 绿色圆环,能够任意拖动,屏幕下方会显示圆环中心的颜色值spa
开启后会在屏幕显示水平直尺和竖直直尺,能够任意拖动。直尺上有两个值,一个单位是px,另外一个是dp3d
开启后会立体显示view,能够直观的查看view的层级关系,拖动
屏幕左侧的按钮能够切换角度
开启后能够看到任意一个view的外边距,边距单位默认为dp,能够经过功能界面的单位选项切换单位。能够经过功能界面的层级区间过滤掉部分view,避免数值相互覆盖
宽高、字体大小、字体颜色、背景色等使用方式同 外边距/内边距,也能够经过 单位选项和层级区间进行控制
开启后能够看到当前Activity的类名,每个Fragment的类名。能够经过功能界面的层级区间过滤掉部分Fragment,避免Fragment名称相互覆盖
开启能够看到当前窗口view的绘制耗时,事件分发耗时,measure,layout耗时,handler耗时。(开启后会自动禁用硬件加速,实际绘制时间可能要少一些。ListView会在事件分发时调用getView,因此ListView事件分发时间稍微长一些。RecyclerView会在view绘制时bindView,因此RecyclerView绘制时间会稍长一些)
若内外边距、宽高、字体颜色等信息不显示,能够关闭 裁剪绘制
。开启该功能能够避免 能够滚动的控件滚动后致使的信息覆盖。
当开启新窗口时,须要手动点击一次屏幕右侧的 靶心 按钮,以此激活当前窗口
,否则当前窗口不会启用 SwissArmyKnife!