平方X

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 3154|回复: 0

阅读《Android 中注解的使用》

[复制链接]

414

主题

709

帖子

3656

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3656
QQ
发表于 2017-10-11 15:39:12 | 显示全部楼层 |阅读模式
[md]

[Airsaid《Android 中注解的使用》](https://juejin.im/post/59bf5e1c518825397176d126)

# 0x01 读完后主要想了解所有的注解。

官方文档[注解支持库](https://developer.android.google ... es.html#annotations)

转到
[android.support.annotation](https://developer.android.google ... ackage-summary.html)

# 0x02 汉化 annotation 包
## 为 package-summary.html 生成伪翻译文件
```
java -jar "D:\xx\software\program\OmegaT_4.1.2_01_Beta_Without_JRE\OmegaT2.jar" "D:\workspace\TranslatorX\AndroidSdkDocs" --mode=console-createpseudotranslatetmx --pseudotranslatetmx=project_save.tmx --pseudotranslatetype=equal
@pause
```
参考[使用注解改进代码检查](https://developer.android.com/st ... tions.html?hl=zh-cn)  
[汉化结果](https://github.com/pingfangx/Tra ... /support/annotation)


# 0x03 更多
## 3.1 所有的资源类型
通过 [android.R](https://developer.android.google.cn/reference/android/R.html) 知道有

class        R.anim

class        R.animator

class        R.array

class        R.attr

class        R.bool

class        R.color

class        R.dimen

class        R.drawable

class        R.fraction

class        R.id

class        R.integer

class        R.interpolator

class        R.layout

class        R.menu

class        R.mipmap

class        R.plurals

class        R.raw

class        R.string

class        R.style

class        R.styleable

class        R.transition

class        R.xml


通地[Resource Types](https://developer.android.google ... able-resources.html)了解一下
## 3.1.1 fraction
android.content.res.Resources#getFraction
```
Retrieve a fractional unit for a particular resource ID.
Parameters
id int: The desired resource identifier, as generated by the aapt tool. This integer encodes the package, type, and resource entry. The value 0 is an invalid identifier.
base int: The base value of this fraction. In other words, a standard fraction is multiplied by this value.
pbase int: The parent base value of this fraction. In other words, a parent fraction (nn%p) is multiplied by this value.
```
如果是标准小数,会乘以 base ,如果是 nn%p 的形式,会乘以 pbase。  
源码为
```
android.content.res.Resources#getFraction
android.util.TypedValue#complexToFraction
    public static float complexToFraction(int data, float base, float pbase)
    {
        switch ((data>>COMPLEX_UNIT_SHIFT)&COMPLEX_UNIT_MASK) {
        case COMPLEX_UNIT_FRACTION:
            return complexToFloat(data) * base;
        case COMPLEX_UNIT_FRACTION_PARENT:
            return complexToFloat(data) * pbase;
        }
        return 0;
    }
```
## 3.1.2 interpolator
[Animation Resources](https://developer.android.google ... resource.html#Tween) 中有介绍
## 3.1.3 plurals
[Quantity Strings (Plurals)](https://developer.android.google ... source.html#Plurals)
* android.content.res.Resources#getQuantityText
* android.content.res.Resources#getQuantityString(int, int)
* android.content.res.Resources#getQuantityString(int, int, java.lang.Object...)
## 3.1.4 transition
[转换可绘制对象](https://developer.android.google ... rce.html#Transition)  
[TransitionDrawable](https://developer.android.google ... sitionDrawable.html)
## 3.1.5 xml

# 3.2 音标
* dimension  [daɪˈmenʃn]
* fraction [ˈfrækʃn]
* interpolator  [ɪn'tɜ:pəʊleɪtə]
* plural [ˈplʊərəl]
* quantity [ˈkwɒntəti]

[/md]
我是平方X~
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|手机版|Archiver|平方X ( 冀ICP备14018164号 )

GMT+8, 2024-11-21 21:24 , Processed in 0.110464 second(s), 21 queries .

技术支持:Powered by Discuz!X3.4  © 2001-2013 Comsenz Inc.

版权所有:Copyright © 2014-2018 平方X www.pingfangx.com All rights reserved.

快速回复 返回顶部 返回列表