Android - View.getResources() 和 View.getContext().getResources() 的区别

10

我想了解使用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() - 返回视图正在运行的上下文,通过它可以访问当前主题、资源等。

欢迎您提出您的想法...

3个回答

18

没有任何内容。如源代码所示:

private final Resources mResources;

public View(Context context) {
    mContext = context;
    mResources = context != null ? context.getResources() : null;
    ...
}

public Resources getResources() {
    return mResources;
}

2
我猜 View.getResources()getContext().getResources() 的一个快捷方式。
如果你真的想知道,可以搜索源代码

0

getContext().getResources() 返回运行 View 的上下文中的资源,即当视图在动态实现时可以使用此方法,而 View.getResource() 则返回应用程序包的资源实例。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接