50 Android Hacks阅读笔记
Hack 1.善用weightSum和layout_weight。
问题提出:尝试做一个button的宽度是父View的一半的效果。
关键词:weightSum = 1 , layout_weight=0.5
Hack 2.常用include和ViewStub
问题提出:如何减少复杂界面的绘制时间。
关键词:include复用,外部定义layout_width,layout_height;ViewStub占位,VISIBLE设置
Hack 3.自定义ViewGroup
问题提出:如何使用自定义ViewGroup,如何计算子View的位置和大小
关键词:自定义View,attrs使用
Hack 4.使用Preference
Android提供了一个PreferenceActivity和preferenceFragment等类来简化了Preference的实现,既然如此,简单的Preference可以使用它们实现,还可以通过继承一些Preference下属类,比如DialogPreference来实现更加灵活的配置
关键词:Preference,自定义Preference
Hack 5.使用TextSwitcher/ImageSwitcher
问题提出:如何快速为多文本切换添加动画效果?(同理Image切换)
关键词:Switcher
Hack 6.为ViewGroup下属的子View添加统一顺序执行的动画效果
问题提出:为某个拥有多个(相似)子View的ViewGroup的子View添加动画效果
关键词:LayoutAnimationController,ListView等
Hack 7.canvas绘图
自定义View的另一种重要部分,使用Canvas在屏幕上绘制图形或是图像,自定义动作等
关键词:Canvas
Hack 8.创作Ken Burns效果
问题提出:如何创建类似幻灯片切换的效果
关键词:AnimatorSet,ObjectAnimator
Hack 9.不用EditText来输入要被检验的Data
问题提出:要验证一个用户输入的时间格式比较麻烦,用Button检测输入行不行?
关键词:为控件自定义background
Hack 10.格式化TextView的文本显示
问题提出:如何实现在TextView下显示简单的HTML语法,或是为部分文本加入前景色或是背景色
关键词:SpannableString,BackgroundColorSpan,ForegroundColorSpan
Hack 11.制造发光文字
问题提出:
关键词:Typeface,assets/fonts,XML(shadowColor,shadowRadius,shadowDx,shadowDy)
示例:
public class LedTextView extends TextView { public LedTextView(Context context, AttributeSet attrs) { super(context, attrs); AssetManager assets = context.getAssets(); final Typeface font = Typeface.createFromAsset(assets,"fonts/digital-7.ttf"); setTypeface(font); } }
Hack 12.圆角背景
使用drawable不仅能用png图片(特别是现在ic_launcher是mipmaps下的),还能使用xml自定义一些图形和状态显示,比如press,select
关键词:drawable,xml( shape corners),ShapeDrawables
Hack 13.在onCreate中获取View的宽和高
问题提出:在onCreate调用完成之前,layout方法不会被调用,因此在onCreate是无法获取View的宽和高的
关键词,view.post,runable,getWidth,getHeight
Hack 16.设定Toast位置
关键词:延迟show,设置gravity
Hack.18.使用ProGuard移除Log代码
关键词:AndroidStudio内置使用了ProGuard
Hack 20.使用Model-View-Presenter模式
关键词:MVP
Hack 21.SyncAdapter的使用
关键词:Service,Provider,SyncAdapter
Hack 27.通过Delegate在Activity和Adapter上同步设置
关键词:第三方Delegate,Adapter,View
hack 41 .ORMLite数据库
关键词:ORM数据库在复杂情况下替代SQLite
Hack 43绑定一系列的数据库操作
关键词:applyBatch,加速大范围频繁database操作
最新文章
- 续并查集学习笔记——Closing the farm题解
- objective-c系列-单例
- SublimeREPL快捷键设置
- bzoj4197
- java CopyOnWriteArrayList的使用
- ShapeDrawable 资源
- MSSQL - SQL Server2008附加数据库失败 错误号:5120
- 为什么是Spring Boot
- java基本的要点
- 深度揭秘ES6代理Proxy
- 基于爬取百合网的数据,用matplotlib生成图表
- Struts 有哪些常用标签库
- Java HttpClient伪造请求之简易封装满足HTTP以及HTTPS请求
- 【java学习】实践中总结--持续更新中
- SSM项目使用GoEasy 获取客户端上下线实时状态变化及在线客户列表
- [Swift]LeetCode393. UTF-8 编码验证 | UTF-8 Validation
- package.json文件解析
- JSON库的使用研究(二)
- php 统计某个目录中所有文件的大小
- 4.css基础