9.1.在代码里引用资源
资源类可以访问个人资源。可以通过Context类的getResources()方法访问Resources的实例。
资源类也被其他Android类使用,例如下面的代码显示了如何根据引用ID创建一个位图文件。
BitmapFactory.decodeResource(getResources(), R.drawable.ic_action_search);
9.2.引用XML文件中资源
在你的XML文件中,比如你的布局文件,你可以通过@符号来引用别的资源。
例如你想引用定义在XML资源里的颜色,你可以通过@color/your_id来引用。或者如果你在XML资源中定义了一个”hello”字符串,你可以通过@string/hello访问它。
9.3.活动和布局
活动的用户界面通过布局定义。布局定义了外观(小窗口)和它们的属性。
布局可以通过Java代码或通过XML定义。在大多数情况下布局通过XML文件来定义。
基于XML的外观通过在/res/layout文件夹下的资源文件来定义。这个文件定义了这个具体布局的ViewGroups,Viewsonic,它们的关系和他们的属性。
如果一个外观需要通过Java代码被访问,你必须通过andorid:id来给外观一个唯一的ID。注册一个新ID来使用外观。下面显示了一个@+id/yourvalue 按钮注册button1 ID的例子。
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Show Preferences" >
</Button>
通过转化这样会为对应的视图创建和注册一个新的yourvalue ID。在你的Java代码中你可以通过findViewById(R.id.yourvalue)方法来访问视图。
通过XML定义外观通常是首选方式因为这样将编程逻辑从外观定义中分离了出来。这样也允许为不同的设别定义不同的外观。你也可以将两种方法混到一起使用。