2016-08-02 Jamling
相信大家在做Android开发的时候,一定遇到以下问题: 界面A上有一个按钮B1,点击时,需要变换背景颜色 界面B的按钮B2与界面A的按钮B1外观一样,只是颜色不同 通常我们的解决办法是向UI要按钮的背景图,不同的状态是一张图片。以上为例,我们需要向美工索取4张图片。 按钮B1(常态与点击态),按钮B2(常态与点击态),然后再定义selector drawable xml,如果美工给的不是9.png,我们还要使用nine-patch工具将其转为9.png图片。 大家可以想象一下,如果状态更多,而页面上的按钮又各不相同的话,天啊!那该有多少图片,多少个selector啊,得花多少时间啊!有没有快捷的解决办法呢?答案当然是有! 继续阅读 »
2018-09-21 Roger
Android Accessibility 的少许开发经验 What's Accessibility 简单来说 Accessibility 就是为了让一些残障人士也能正常使用手机或 App 的基本功能,主要包括 Talkback ,视弱的支持等,具体参见:https://developer.android.com/guide/topics/ui/accessibility/ 继续阅读 »
2020-11-15 Robin Wen
文/Robin macOS Big Sur 正式版发布了。不过笔者在之前内测的时候就开始用了,经历 2 个 Candidate 的 Beta 版,直接就到正版版了,所以此次发布,内心毫无波澜。 macOS Big Sur 除了 UI,似乎没有多大改变。升级到 macOS Big Sur 后,更像 iPadOS 了。作为近几年以来变化最大的 macOS 更新,macOS Big Sur 对内置应用的图标、应用的设计语言、桌面的程序坞和菜单栏等方面都进行了重新设计。macOS Big Sur 中的系统应用图标统一改为圆角矩形的设计样式,与 iOS /iPadOS 的图标样式统一。其它系统界面方面,macOS Big Sur 的程 继续阅读 »
2017-07-14 Jamling
简介 IntelliJ Idea上的SmartQQ插件,适用于大多数的Intellij IDE, Eclipse的插件请访问 https://github.com/Jamling/SmartQQ4Eclipse/ 更新日志 v1.0.3/2017/07/14,美化了UI,添加了异常通知。 安装 File->Settings->Plugins打开插件设置界面 点击Browser repositories...并输入SmartQQ执行搜索 点击SmartQQ进行安装并重启 使用 安装成功后,会在底部栏出现一个Smart的tab(如果没有底部栏,则在菜单View中把ToolButtons勾选上) 点击Smart中的二维码使 继续阅读 »
2013-11-05 veryyoung
I have a class that needs to obtain a reference to it's application's AssetManager. This class does not extend any sort of android UI class, so it doesn't have a getContext() method, or anything similar. Is there some sort of static Context.getCurrentApplicationContext() type of method? To clarify: my class is inte 继续阅读 »
2014-06-27 AllanChan
最近在不管在面试还是在项目的交流中,面试者和同事们都不约而同的提出问题。 究竟IOS的开发中,XIB是否真的有存在的必要吗? Apple 的xib和storyBoard真的减轻了开发人员的开发成本吗? Geek们真的愿意去用吗? 下面我们来比较一下,“纯手写UI+逻辑代码” 和 “通过XIB布局+逻辑代码” 两者的实用性和效率 我们以一个登录+展示列表 为功能点进行代码的编写 继续阅读 »
2017-03-31 Roger
一个页面需要滑动才能加载数据的BUG 今天遇到了一个页面需要滑动才能加载出数据的神奇问题~ 努力排查后发现,由于是在非主线程调用了 RecycleView 的刷新,造成了列表的卡顿。 公司在项目前期使用了很多的 RxJava,造成很多的回调,其中的业务逻辑乱飞,各个回调方法运行在哪个线程很难判断,可读性极差,稍不注意就会造成在业务线程调用 UI 更新。 继续阅读 »
2016-09-06 JustWe
众所周知,Android的设计架构一直为人所诟病,模块的分割不清,很容易造成新手的困惑和迷茫,并且写出来的代码非常混杂,Activity即包含UI的处理,还包括数据的具体处理,让一个Activity弄出好几千行的容量,而且代码非常不清晰,可读性比较差。 所以在Android的开发过程中,一直没有一个统一的开发模式,MVC、MVP、MVVM都有出现,不过之前Google在Github开源的一个开源库to-do-mvp ,Google提供了他们对MVP的一个范式,我们一次为基础谈谈Android 的MVP的应用。 What is MVP? MVP 指的是“models-views-pre 继续阅读 »
2020-09-30 Robin Wen
文/Robin Blockstream 最近发布了钱包 AQUA。AQUA 是一个去中心化的、非托管、单签名钱包,支持比特币以及 Liquid Network 的资产。 在软件的主屏幕上,AQUA 可让您访问比特币,L-BTC,USDt,L-CAD和其它液态资产。Blockstream 将发送和接收功能做的尽可能顺畅,也为简化和优化UI界面进行了非常努力的工作,使一切用户操作能够顺利进行。超过 20 个国家与地区的用户还可以在 App 内使用借记卡或 Apple Pay 直接购买比特币(目前还不支持中国)。 AQUA 像 Blockstream 旗下的 Green 钱包一样是完全开源的。可能读者好奇了,AQUA 和 Gre 继续阅读 »
2014-03-25 码农明明桑
Activity是android的四大组件之一,我们编写程序时,主要通过Activity来显示我们的UI。我们需要了解他的生命周期,以及 每个周期可以做什么。 一个Activity存在三种状态: Resumed: activity显示在屏幕的最前面,并且获取用户焦点。 Paused: 其他activity在当前activity之前,并获得焦点。当前activity还能够部分显示,仍然维护着所有状态,当内存低的时候才会被系统杀死。 Stopped: 当前activity完全不可见。但是仍然存在,其他应用需要内存的时候会被杀死(不一定是低内存的时候)。 more 具体生命周期见图: 启动Activity 执行onC 继续阅读 »