在前面的例子中,我们忽略了一个重要的原则,在代码和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应用自定义字体
  2. 自定义动画(animation)时set中的各元素效果
  3. Android(安卓)资源聚集地
  4. ch016 Android(安卓)自定义对话框.
  5. Android(安卓)自定义搜索Searchable
  6. Android(安卓)- 自定义SeekBar
  7. Android(安卓)xml资源文件中@、@android:type、@*、?、@+引用写法
  8. Failed to find an AVD compatible with target 'Android(安卓)1
  9. ANDROID Porting系列一、ANDROID编译系统

随机推荐

  1. 关于android ui的优化 view 的绘制速度
  2. Android实现EditText控件禁止输入内容的
  3. Android_install_in_ubuntu
  4. Android中使用代码执行shell命令
  5. 我的android 第5天 - 常见控件使用
  6. android Animation 基础解答
  7. Android(安卓)Gradle plugin 3.5.0的更新
  8. 【Android】Android之命令行安装apk
  9. 途牛面试经历
  10. android移动补间动画