软件推荐 suger & nvalt - 曾铭
surge
iOS 正常上网神器,68元,目前已下架
衍生品 Replica - Web Developer Tool
iOS 网络调试神器,iOS 设备中代理所有网络流量,方便查看所有网络请求。68 元,Surge 用户直接解锁。
nvalt
『惊的速记』,最快速的笔记方式,本地纯文本存储,优秀的快捷键配置,支持 tag, markdown, 预览等。开源。
- nvALT - BrettTerpstra.com
- ttscoff/nv: MultiMarkdown version (with HTML source tab) of Notational Velocity: modeless, mouseless Mac OS X note-taking application nvalt 源代码
- MacDown: The open source Markdown editor for OS X. macdown 的有趣历史
- uranusjr/macdown macdown 源代码
Android 微信抢红包 - 吴明
主要原理:监听微信APP,如果发送[微信红包]相关通知,则通过Android辅助类服务AccessibilityService实现抢红包点击一系列动作
通过AccessibilityService服务监听微信
- 主要监听配置如下:
1 | 监听动作类型 |
- AccessibilityService实现方法:
- onAccessibilityEvent()时间监听回调方法
- onServiceConnected启动服务
- onUnbind服务器解绑
- onInterrupt中断服务
事件
- AccessibilityEvent.TYPE_NOTIFICATION_STATE_CHANGED:通知消息事件
- AccessibilityEvent.TYPE_WINDOW_STATE_CHANGED:屏幕window变化时间
- AccessibilityEvent.TYPE_VIEW_SCROLLED屏幕滚动监听事件
1.微信后台抢红包:
- 后台TYPE_NOTIFICATION_STATE_CHANGED事件监听有[微信红包]通知则点击通知,TYPE_WINDOW_STATE_CHANGED事件点击‘抢红包’,TYPE_WINDOW_STATE_CHANGED点击‘拆红包’,TYPE_WINDOW_STATE_CHANGED跳转红包查看详情
- 2.微信当前聊天页面抢红包
- 当前聊天页面,不能接受通知
- AccessibilityEvent.TYPE_VIEW_SCROLLED监听屏幕view有新消息,则查看屏幕是否有’抢红包’view,有则点击‘抢红包’view,点击抢红包后则同上通过TYPE_WINDOW_STATE_CHANGED事件完成抢红包一系列动作
- 代码地址
Android Ripple - 王进
使用效果如下:
B1是不设任何背景的按钮
B2设置了?android:attr/selectableItemBackground
B3设置了?android:attr/selectableItemBackgroundBorderless
设置波纹颜色:
android:colorControlHighlight:设置波纹颜色
android:colorAccent:设置checkbox等控件的选中颜色
ripple xml 中设置color 属性
设置自定义RippleDrawable
1 | <!-- An unbounded red ripple. --/> |
也可以更改主题的波纹样式1
2<item name="android:selectableItemBackground">@drawable/selectable_item_stroke_bg</item>
<item name="android:selectableItemBackgroundBorderless">@drawable/selectable_item_bg</item>
更改主题波纹颜色
android:colorControlHighlight:设置波纹颜色
更改样式波纹后,会对app系统内置具有波纹效果app造成影响,NavigationView,Toolbar 上Menu 等,特别是波纹的背景色
因为波纹是在background属性上设置的,所以如果控件需要其他背景要素,可以在ripple的默认
- 上设置
5.0 兼容
兼容方法有二:
- V21 之前用selector
- 第三方控件MaterialRippleLayout
1 | <selector xmlns:android="http://schemas.android.com/apk/res/android"> |
drawable-v211
2
3
4
5
6
7
8
9
10<ripple xmlns:android="http://schemas.android.com/apk/res/android"
android:color="#E5E5E5">
<item android:id="@android:id/mask">
<shape android:shape="rectangle">
<corners android:radius="@dimen/common_action_button_h" />
<solid android:color="@android:color/white" />
</shape>
</item>
<item android:drawable="@drawable/shape_logout_btn"></item>
</ripple>