[英]Useful Android system 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
)提供本地化字符串。 android.R.string.ok
),以及其他字符串。
您建议使用哪些其他系统资源? 或者有理由避免使用系统资源吗?
编辑:作为由Tomas指出,一些这方面的资源可能不会产生你所期望的结果(特别是android.R.string.yes/no
收益OK/Cancel
,而不是Yes/No
,据报道在这里 )。 为了获得更好的控制,您可以从Android源代码中复制系统资源。
您可以在android包中找到所有系统资源的完整列表。
每次我想在Android上做一些事情我都会检查是否有一个涵盖我想要做的事情的系统资源。 在搜索您可能需要的已实现资源时,导入Android源代码(特别是其/ res /文件夹 )很有帮助,因此您可以看到它们的具体实现。
就个人而言,我发现自己经常使用:
android.R.id
),因为你经常需要使用这些,如果你想使用一些Android的小部件(例如, TabHost/TabWidget
要求你使用“ android:id/tabhost
”,“ android:id/tabs
“和” android:id/tabcontent
“如果你想实现XML布局)。 android.R.color.transparent
。 android.R.anim
。 您可以通过使用android包名称限定来自xml的系统资源 ,即"@android:string/ok"
正如CommonsWare所提到的,您不必下载Android源代码库来检查资源; 只需转到<android-sdk-dir>/platforms/android-XX/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()
)。
请注意,翻译非常糟糕。
例如,android-25中的德语“no”是“Abbrechen”,实际上意味着“取消”。 “是”被翻译为“OK”......
我不确定其他语言有多好,所以我会使用自己的翻译。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.