tips[Android]

  1. View:2D graphics,SurfaceView:3D graphics。
  2. ProgressBar进度渐进动画,可以使用ObjectAnimator实现。动画相关的类:
    1. android.view.animation.Animation
    2. android.animation.Animator
    3. ...(待补充)
  3. 在布局文件、代码中要引用到色值,命名中不能带有 red/black/grey 之类的颜色字眼,也不能有 light/dark 之类跟颜色相关的。否则以后修改可能出现R.color.red对应的色值不是红色,R.color.red_light对应的对应的色值不是light的情况。
  4. 使用svn时,一个分支更换了code style规则,导致合并时吐血。(喔~原来是因为这个才要统一code style 啊!)
  5. java 7 之后, 数字常量中可以使用下划线,如 int i = 0x1a_b; long l = 10____00;
  6. 格式化resources中的字符串时,当字符串中有多个需要代替的内容时,如果写成:“你好 %s ,我是 %s。会报错。应该写成 “你好 %1$s ,我是 %2$s”。
  7. Override 时,不管父类的这个方法有没有实现逻辑,都要保留子类的 “super.xxx()"。这样以后父类这个方法改了的话才会对子类有效啊混蛋。
  8. GridView 的条目宽高都是一样的,不能设置span;GridLayout 可以(com.android.support:gridlayout-v7:23.1.1 (不知道从哪个版本开始)添加了对 weight 对支持)。
  9. 用xml画点划线的时候,预览正常真机变成直线,据说是3.0系统后关闭硬件加速导致的,这几种做法都能解决:
    1. manifest 中添加 android:hardwareAccelerated="false"
    2. view.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
    3. <View android:layerType="none" ...
  10. Fragment 中嵌套 Fragment 时,使用 getChildFragmentManager() 而不是 getSupportFragmentManager() 获取 FragmentManager。
  11. 创建 ColorStateList 的时候传入的参数负值代表此属性false。如 -android.R.attr.state_checked 代表 android.R.attr.state_checked 值为 false。
  12. style 资源文件的继承关系可以表示成 `Button.Big` 和 `"Big", parent="Button"`,区别是
    1. 以后引用的时候,前者写作`Button.Big`,后者写作`Big`
    2. 前者要求有继承关系的两个主题应该在同一个包中,比如都是 Android 系统内部的主题,或者都是 AppCompat 库内部的主题等。开发自己的应用时也应遵守同样的规则,如果是继承自己内部的主题,使用主题名指定父主题即可,如果是继承 Android 操作系统中的样式或主题,应该使用 parent 属性。
  13. XML 中的 ? 用于引用当前使用的 theme 中的属性。[?](https://stackoverflow.com/questions/2733907/question-mark-in-xml-attributes-for-android)
posted @ 2015-03-05 11:21  shang1jk  阅读(339)  评论(0)    收藏  举报