在前面的例子中,我们忽略了一个重要的原则,在代码和Layout中,直接使用了字符串常量,比如:

<Button android:text=”Pattern”
android:id=”@+id/btnPattern”
android:layout_width=”wrap_content”
android:textColor=”@color/black”
android:checked=”true”
android:layout_height=”wrap_content”>
</Button>

我们直接定义Button的显示内容为“Pattern”。如果你想你的应用支持多种设备,多种语言,那么直接使用字符串常量会给程序的移植带来很大的问题。因此设计应用是一个重要原则是尽可能的将UI相关的资源(如图像,文字等)以外部资源的形式来定义。

Android支持多种资源类型,对应每一种资源,你可以定义一个缺省资源和多个可选资源(根据设备配置或语言类型等)。

缺省资源定义成与设备配置和语言无关,用在找不到与设备配置对应资源时使用。比如说你可以将缺省UI Layout定义在 res/layout 中, 而将屏幕横置(Landscape)定义在 res/layout-land 中。Android在运行时会根据设备配置自动选择合适的资源。

下图显示两种不同配置的设备中没有定义可选资源时都使用缺省资源定义:

下图应用定义给两种不同设备定义了两种资源,一是缺省资源,一是为横屏显示时的资源:

在定义可选资源时,Android对可选资源的命名方法有一定的规定,具体可以参见http://developer.android.com/guide/topics/resources/providing-resources.html

更多相关文章

  1. Android简明开发教程二十二:使用资源Resources
  2. Android(安卓)xml资源文件中@、@android:type、@*、?、@+含义和区
  3. Android简明开发教程二十二:使用资源Resources
  4. android应用自定义字体
  5. 自定义动画(animation)时set中的各元素效果
  6. Android(安卓)资源聚集地
  7. ch016 Android(安卓)自定义对话框.
  8. Android(安卓)自定义搜索Searchable
  9. Android(安卓)- 自定义SeekBar

随机推荐

  1. android8.0 launcher改透明
  2. iPhone app 和android app开发环境和语言
  3. android View
  4. Android xutils 登录 注册
  5. cocos2dx编译HelloWorld
  6. Android(安卓)Studio使用说明
  7. android 画图程序
  8. Android 实现图片保存到本地并调用本地地
  9. Android 指定销毁一个Activity
  10. Android代码混淆