由于大多数Android系统资源属性都不公开,因此必须通过getIdentifier
访问标识符及其属性,如下所示( example ):
public static int getStatusBarHeight(Context context) {
int result = 0;
int resourceId = context.getResources()
.getIdentifier("status_bar_height", "dimen", "android");
if (resourceId > 0) {
result = context.getResources().getDimensionPixelSize(resourceId);
}
return result;
}
在哪里可以看到此方法可以访问的所有标识符的列表?
答案 0 :(得分:1)
您可以在GitHub上的Android开源项目的源代码中找到dimens
个定义。
注意:列表可能(并且很可能会)与每个版本略有不同 - 选择与您感兴趣的Android版本对应的分支。
如果您在尝试访问标识符时查找可能的defType
值,我猜测这些是平台标准资源类型,例如bool
,integer
等。 here和here。
Here's a link来自当前主分支的Android默认资源。