我想了解使用View.getResources()
和View.getContext().getResources()
的真正区别。
例如,我必须从资源中将颜色设置为TextView
。
view.setTextColor(view.getResources().getColor(R.color.Blue));
或
view.setTextColor(view.getContext().getResources().getColor(R.color.Blue));
两者都有效,但根据文件......
View.getResources()
- 返回与此视图关联的资源。
View.getContext()
- 返回运行视图的上下文,通过它可以访问当前主题,资源等。
欢迎你的想法......
答案 0 :(得分:18)
无。如源代码所示:
private final Resources mResources;
public View(Context context) {
mContext = context;
mResources = context != null ? context.getResources() : null;
...
}
public Resources getResources() {
return mResources;
}
答案 1 :(得分:1)
我猜View.getResources()
是getContext().getResources()
的快捷方式。
如果您真的想知道,可以搜索source code。
答案 2 :(得分:0)
getContext().getResources()
返回正在运行View
的竞赛资源,即在View.getResource()
期间动态实施视图时可以使用此资源。返回应用程序包的Resources实例。