String:
<string name="btn_one_text">文字</string>
context.getResources().getString(R.string.btn_one_text);
setText可以直接使用id:setText(R.string.btn_one_text)
color:
<color name="colorWhite">#FFFFFF</color>
context.getResources().getString(R.color.colorWhite);//已经过时
代替方法:ContextCompat.getColor(context,R.color.colorWhite);
drawable:
context.getResources().getDrawable(R.mipmap.folder);//已经过时
代替方法:ContextCompat.getDrawable(context,R.mipmap.folder);
dimens:
<dimen name="item_spacing">45dp</dimen>
context.getResources().getDimensionPixelOffset(R.dimen.item_spacing);
context.getResources().getDimension(R.dimen.item_spacing);
context.getResources().getDimensionPixelSize(R.dimen.item_spacing);
相同点:
返回获取某个dimen的值,如果dimen单位是dp或sp,则需要将其乘以density(屏幕密度);如果单位是px,则不用。
不同点:
getDimension:返回类型为float,
getDimensionPixelSize:返回类型为int,由浮点型转成整型时,采用四舍五入原则。
getDimensionPixelOffset:返回类型为int,由浮点型转成整型时,原则是直接忽略小数点部分。
例如:
dimen=45dp,density=1.125;
getDimension=50.625
getDimensionPixelSize=51
getDimensionPixelOffset=50
dimen=45px,density=1.125;
getDimension=45.0
getDimensionPixelSize=45
getDimensionPixelOffset=45