有用的Android系统资源

时间:2010-04-13 16:24:05

标签: android optimization resources

Android附带了大量系统资源(android.R),可用于节省时间并使应用程序更轻松。

例如,我最近发现Android为Yes(android.R.string.yes),No(android.R.string.no),Cancel(android.R.string.cancel)和Ok(android.R.string.ok)提供了本地化字符串,以及其他字符串。

您建议使用哪些其他系统资源?或者有理由避免使用系统资源吗?

编辑:正如Tomas所述,其中一些资源可能无法产生您期望的结果(特别是,android.R.string.yes/no会返回OK/Cancel而不是Yes/No,正如所报告的那样{{3} })。为了获得更好的控制,您可以从Android源代码中复制系统资源。

4 个答案:

答案 0 :(得分:52)

您可以在android package中找到所有系统资源的完整列表。

每当我想在Android上做某事时,我都会检查是否有一个涵盖我想要做的事情的系统资源。在搜索您可能需要的已实现资源时,导入Android源代码(特别是their /res/ folder)会很有帮助,因此您可以看到它们的具体实现。

就个人而言,我发现自己经常使用:

  • 用于标准任务的内置Android布局,例如微调器下拉列表。
  • Android ids(android.R.id),因为如果您想使用某些Android小部件,通常需要使用这些内容(例如,TabHost/TabWidget要求您使用“android:id/tabhost” ,“android:id/tabs”和“android:id/tabcontent”,如果你想实现XML布局)。
  • 内置颜色,尤其是android.R.color.transparent
  • Android android.R.anim中内置的淡入和淡出动画。

答案 1 :(得分:16)

您可以通过使用Android软件包名称对其进行access system resources来{{3}}

答案 2 :(得分:6)

正如CommonsWare所提到的,您不必下载Android源代码库来检查资源;只需转到<android-sdk-dir>/platforms/android-X.X/data/res/。但是,如果您开始使用这些内容,您很快就会发现大多数可通过android.R课程感到失望。大多数时候我必须将它们导入我的Eclipse工作区。 : - (

我最喜欢的资源是基于控件的聚焦/按下/禁用状态(如android.R.drawable.btn_default)显示不同的drawable。我使用它们或调整它们为我的应用程序创建自定义按钮。正如您所看到的那样/data/res/drawable/btn_default.xml,它们被定义为<selector> XML元素,它在运行时被夸大为StateListDrawable。您还可以创建自己的StateListDrawables,它们非常有用,包括View背景和按钮的“复合drawable”(参见TextView.setCompoundDrawables())。

答案 3 :(得分:1)

请注意,翻译非常糟糕。

例如,android-25中的德语“no”是“Abbrechen”,实际上意味着“取消”。 “是”被翻译为“确定”......

我不确定其他语言有多好,所以我会使用自己的翻译。