只要知道资源的ID以及你编译进目标文件的资源类型就可以在代码里使用它来。下面是一些语法:
R.resource_type.resource_name
或者
android.R.resource_type.resource_name
resource_type
是R子类的一种类型。
resource_name
是定义在XML文件里的资源名或者为其他文件类型定义的资源文件(没有后缀)名。
每种类型的资源会被加入到一个特定的R的子类中;为了学习哪种R的子类里有你编译的资源类型,参考资源引用 文档。被编译进应用程序的资源不需要
包的名字就可以直接被访问到(像这样:R.resource_type.resource_name
).
Android包含一些标准资源,如屏幕的类型,按钮的背景。要使用这些代码,你需要包含 android
, 如
android.R.drawable.button_background
.
这里有一些好的和糟糕的例子说明如何在代码里使用编译后的资源:
// 从画图资源类里装载一个当前屏幕背景。 this.getWindow().setBackgroundDrawableResource(R.drawable.my_background_image); // 错误! 将一个资源ID装入一个需要字符串的方法中 this.getWindow().setTitle(R.string.main_title); //正确!需要从资源封装类里取得标题。 this.getWindow().setTitle(Resources.getText(R.string.main_title)); // 从当前屏幕中装载布局数据。 setContentView(R.layout.main_screen); //从ViewFlipper对象中设置动画中一帧 。 mFlipper.setInAnimation(AnimationUtils.loadAnimation(this, R.anim.hyperspace_in)); // 在TextView对象中设置文本内容。 TextView msgTextView = (TextView)findViewByID(R.id.msg); msgTextView.setText(R.string.hello_message);