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操作

最新文章

  1. 续并查集学习笔记——Closing the farm题解
  2. objective-c系列-单例
  3. SublimeREPL快捷键设置
  4. bzoj4197
  5. java CopyOnWriteArrayList的使用
  6. ShapeDrawable 资源
  7. MSSQL - SQL Server2008附加数据库失败 错误号:5120
  8. 为什么是Spring Boot
  9. java基本的要点
  10. 深度揭秘ES6代理Proxy
  11. 基于爬取百合网的数据,用matplotlib生成图表
  12. Struts 有哪些常用标签库
  13. Java HttpClient伪造请求之简易封装满足HTTP以及HTTPS请求
  14. 【java学习】实践中总结--持续更新中
  15. SSM项目使用GoEasy 获取客户端上下线实时状态变化及在线客户列表
  16. [Swift]LeetCode393. UTF-8 编码验证 | UTF-8 Validation
  17. package.json文件解析
  18. JSON库的使用研究(二)
  19. php 统计某个目录中所有文件的大小
  20. 4.css基础

热门文章

  1. cocos2d-x在Android平台下的音频导致的卡死
  2. 关于 MySQL 的 boolean 和 tinyint(1)
  3. 3D碰撞检测
  4. 杀死O2O的三大杀手?!
  5. AWVS漏洞测试-03节-添加扫描项目
  6. 博为iHospital-HIS医院信息系统产品系列
  7. Java程序员转Android开发必读经验分享
  8. 防抖(Debounce)与节流( throttle)区别
  9. ORA-01654 索引 无法通过 表空间扩展
  10. u3d 性能优化