[CAUSE]
在写一个自定义View时, 直接复制了Android-Source的XML布局文件, 默认开发SDK版本是4.2.2(Level-API-17), 后因其余缘由将SDK版本改成4.1.2 (Level-API-16), 而后XML布局文件就报错了, ----这时才知道paddingStart & paddingEnd是4.2.2中才新加的.
P.S.能够对好比下两个Android-XML文件(特别注意paddingStart & paddingEnd): html
- android-sdk\platforms\android-17\data\res\values\styles.xml
- android-sdk\platforms\android-16\data\res\values\styles.xml
[QuickStart]
- paddingStart & paddingEnd 是根据左右对齐方式来起做用的
- 左对齐时, paddingStart 对应 paddingLeft, paddingEnd 对应 paddingRight
- 右对齐时, 正好相反
[ANALYSIS]
- 打开文件android-sdk\sources\android-17\android\view\View.java
- 能够找到mUserPaddingStart (mUserPaddingEnd) 就是存储 paddingStart (paddingEnd) 属性的变量
- 又能够找到其被赋值给mUserPaddingLeft / mUserPaddingRight, 可在resolvePadding() & resetPaddingToInitialValues() 找到
- 接下来, 能够看到这两个函数都会调用到 getLayoutDirection() , 来检查是LAYOUT_DIRECTION_RTL 仍是 LAYOUT_DIRECTION_LTR 的对齐方式
[SeeAlso]
http://developer.android.com/reference/android/R.attr.html