bug回忆录与不一样的解决方式让textview滚起来的代码工具类,以及封装html
简书链接:[bug回忆录与不一样的解决方式让textview滚起来的代码工具类,以及封装html](https://www.jianshu.com/p/c9f75da80907) 文章字数:295,阅读全文大约需要1分钟 bug回忆录-与不一样的解决方式 让textview滚起来的代码工具类,以及封装 body { margin: 0; font-family: "Helvetica Neue", Helvetica, Arial, "Hiragino Sans GB", sans-serif; font-size: 14px; line-height: 20px; color: #777; background-color: white; } .container { width: 700px; margin-right: auto; ...
多参反射的调用封装
简书链接:多参反射的调用封装文章字数:111,阅读全文大约需要1分钟做一个ReflectUtil.callMethod(method,arg)的万能调用需要解决基本类型问题,如果直接传递intvalue,会被变成了包装类型。所以这里进行了下样板代码处理。 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106import java.lang.reflect.Method;public class MainTest { public static void call(int a){ System.out.println("call(int):"+a); ...
最佳绘制一条边selectorlayoutlist以及个spinner设置背景图片,设置边距。
简书链接:最佳绘制一条边selectorlayoutlist以及个spinner设置背景图片,设置边距。文章字数:326,阅读全文大约需要1分钟 12345678910111213141516171819202122232425262728293031323334353637383940414243444546<?xml version="1.0" encoding="utf-8"?><selector xmlns:android="http://schemas.android.com/apk/res/android" > <item android:state_enabled="true"> <!-- 控制内容右边距离防止和内容如何在一起--> <layer-list android:paddingRight="34dp"> <item...
kotlin作用域函数letrunwhithapplyalso的区别takeIf的用法
简书链接:kotlin作用域函数letrunwhithapplyalso的区别takeIf的用法文章字数:588,阅读全文大约需要2分钟 本质区别有两个主要区别: 引用上下文对象的方式和```it``` 使用```this```则具备上下文,可以省略```this``` 而```it```不能省略了,因为它是参数.123456789101112131415161718192021222324252627282930###### 返回值```apply``` ```also```返回上下文对象。```let```,``` run```, ```with```返回 lambda 结果。```let``` 与```run```作用域函数不会引入任何新的技术功能,但它们可以使您的代码更加简洁和可读。如```ListOf("1","2").let(it.add()) ``` = ``` var list=ListOf("1","2")...
改造微信缩放字体view的改造
简书链接:改造微信缩放字体view的改造文章字数:781,阅读全文大约需要3分钟网上的代码bug很多,而且不方便控制标准字体,有些代码基本写死的,比如return 0.8+(ratio)….. 改造后的效果 可以自定义标准字体所处位置.可以实时展示最小和最大的文字.可以自定义标尺总数.可以自定义位置停留 遇到的问题公式换算. 我数学以前连个除法都头疼,现在百分比转换搞明白了,宽度转指定的百分比.比如刻度是10,我就要把宽度的百分比转成刻度里面的百分比,这需要相互转换才能完成我上面所说的改造效果.关于宽度和进度的转换,用于任意进度停留的还原. 1234567891011121314151617181920212223 public static float widthX2Progress(float viewWidth, float currentX, float maxProgress) {/* float width=500; float current=250; float...
原创recyclerview实现多行分组给分组块加圆角
简书链接:原创recyclerview实现多行分组给分组块加圆角文章字数:2146,阅读全文大约需要8分钟如果用多个recyclerview 或者里面多套个adapter当我没说,这里的实现方式是通过.借助griviewmanager和item 效果图是要达到这样的.当然这也是我最后搞完的图. 需求:标题作为1行 内容为3列任意行.标题内容分组 给标题内容包裹区域加圆角.只有内容无标题的分组 就给内容区域加圆角 遇到的问题1.当内容未满3列,颜色为recyclerview颜色或背景色.2.边距写的不对,导致内容被扭曲,某个item出现背景色而且未和其他行对其.3.滑动的时候发现我绘制的颜色掉了(是我粗心用的i而不是适配器位置导致)4.判断末尾行如果是末尾行直接填充白色圆角5.如果没有标题,直接给内容加上左...
双向绑定的实现原理与样板代码
简书链接:双向绑定的实现原理与样板代码文章字数:789,阅读全文大约需要3分钟双向绑定的方法有几种这里用到的是借助@BindingAdapter来实现。无项就是xml里面有一个model,你设置进去了,它就更新就是了。纯单项 ,所谓单项 ,就是你调用一个值set就可以让view变化,这需要 @Bindable@ notifyPropertyChanged(BR.title);双项是值 可以修改值来改变view的状态 或者通过修改view的状态来实现修改model的值 这就是你中有我我中有你. model继承 extends BaseObservable然后set里面设置这需要@BindingAdapter @InverseBindingAdapter纯@BindingAdapter是方便xml里面设置用的。 比如里面定义 @BindingAdapter("intvalue")就可以使用xxx:@{xxx.xx} 123456789101112class BBB extends BaseObservable{ ...
原创Looperparpare和Looperloop轻松玩转、子线程handler简单代码就可以理解。
简书链接:原创Looperparpare和Looperloop轻松玩转、子线程handler简单代码就可以理解。文章字数:1201,阅读全文大约需要4分钟前不久测试新版本内存泄露框架的时候,突然想虐一下自己,就写了个内存泄露的代码,并且还想让他泄露的时候不断弹出消息,但是不借助其他线程handler来实现,所以无聊写了个代码,发现验证是正确的,就把代码贴出来,给新手看看,也顺便把为什么可以这样做的原因发到这里。 问题列表1、为什么主线程死循环而不卡死。2、handler创建,子线程、使用 3、handler可以创建几个,Looper可以用几个。4、handler的消息机制原理5、子线程 弹出toast6、looper.loop()阻塞了,那么之后的方法怎么才能实现调用, 那么让你在子线程搭建消息通讯你应该怎么搭建 回答1、之所以不卡死,是因为它一直在处理消息,当没有消息的时候会进行等待,另外它也可以被其他线程唤醒。所以不会造成什么问题。2、子线程先Looper.parpare()...
非原创查看蹭的网里面到底多少用户
简书链接:非原创查看蹭的网里面到底多少用户文章字数:409,阅读全文大约需要1分钟蹭的网的wifi ip是192.168.1.1 移动光猫自带的路由器,不过这地址的路由器账户密码我是拿不到了也没想到啥办法破解然后我用我自己的路由器弄个无线中继,为192.168.199.1下面是执行效果, 牛逼plus这东西可以广泛偷窥隐私了,比如在公司运行就能知道公司多少人在连wifi.. 原理以及原地址https://blog.csdn.net/as604049322/article/details/120110098?spm=1001.2014.3001.5501我只是多加了一个网段进行监控并进行合并set而已。 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798from...
原创一方免注册服务的ipc进程通讯方法
简书链接:原创一方免注册服务的ipc进程通讯方法文章字数:1098,阅读全文大约需要4分钟这种场景很多,只是你想不到,如果你逆向一个程序,需要在这个程序里面植入一个交互功能, 或者 你希望你的软件能够调用QQ,那么你机器人软件自身声明了服务,那么QQ没有这样的服务,怎么办。 那么 在机器人软件上声明aidl文件 123456789101112131415161718192021222324252627282930313233343536// GeneralBinder .aidlpackage cn.qssq666;interface GeneralBinder { void basicTypes(int anInt, long aLong, boolean aBoolean, float aFloat, double aDouble, String aString); void clearCallBack( ); boolean isTaskRunning(); void stopRunningTask(); ...