本文转自:http://www.cnblogs.com/vieboo/archive/2013/05/30/3108130.html


声明:1)利用系统定义的id

<ListView

android:id="@android:id/list"

使用android.R.id.list来获取。

3)利用系统的字符串资源@android:string/yes和@android:string/no,在简体中文环境下会显示“确定”和“取消”,在英文环境下会显示“OK”和“Cancel

4)利用系统的Style

android:textAppearance="?android:attr/textAppearanceMedium"就是使用系统的style。需要注意的是,使用系统的style,需要在想要使用的资源前面加“?android:”作为前缀,而不是“@android:”。

5)利用系统的颜色定义

android:background ="@android:color/transparent"

Android系统本身有很多资源在应用中都可以直接使用,具体的,可以进入android-sdk的相应文件夹中去查看。例如:可以进入$android-sdk$\platforms\android-8\data\res,里面的系统资源就一览无余了。

2)利用系统的图片资源

假设我们在应用程序中定义了一个menu,xml文件如下。

<?xml version="1.0" encoding="utf-8"?>

<menu xmlns:android="http://schemas.android.com/apk/res/android">

<item

android:id="@+id/menu_attachment"

android:title="附件"

android:icon="@android:drawable/ic_menu_attachment" />

</menu>

其中代码片段android:icon="@android:drawable/ic_menu_attachment"本来是想引用系统中已有的Menu里的“附件”的图标。但是在Build工程以后,发现出现了错误。提示信息如下:

error: Error: Resource is not public. (at 'icon' with value '@android:drawable/ic_menu_attachment').

从错误的提示信息大概可以看出,由于该资源没有被公开,所以无法在我们的应用中直接引用。既然这样的话,我们就可以在Android SDK中找到相应的图片资源,直接拷贝到我们的工程目录中,然后使用类似android:icon="@drawable/ic_menu_attachment"的代码片段进行引用。

这样做的好处,一个是美工不需要重复的做一份已有的图片了,可以节约不少工时;另一个是能保证我们的应用程序的风格与系统一致。

经验分享:

Android中没有公开的资源,在xml中直接引用会报错。除了去找到对应资源并拷贝到我们自己的应用目录下使用以外,我们还可以将引用“@android”改成“@*android”解决。比如上面引用的附件图标,可以修改成下面的代码。

android:icon="@*android:drawable/ic_menu_attachment"

修改后,再次Build工程,就不会报错了。

更多相关文章

  1. 提高Android(安卓)Studio的gradle编译速度。
  2. android P系统访问http请求最简单解决方案
  3. android HorizontalScrollView的简单使用
  4. Android(安卓)文件系统的权限设置
  5. 给Android程序员的六个建议
  6. 从D-Bus(DBus)的使用看Android设计策略中安全的优先级
  7. Android系统自带录屏(动态截屏)功能
  8. Android系统设计中的设计模式分析之二
  9. 【Android(安卓)Developers Training】 13. 支持不同平台版本

随机推荐

  1. PC监控通过网络数据监控ANDROID屏幕
  2. Android线程模型解析(包括UI的更新)
  3. Android程序开发的环境配置
  4. android 返回键与finish区别 onBackPress
  5. AndroidManifest.xml--android系统权限定
  6. 对于android触摸事件模型的一些理解
  7. 单线程模型中Message、Handler、Message
  8. Android 自定义View
  9. 手机敲命令利器---Android Terminal
  10. 《Android深度探索(卷1):HAL与驱动开发》新