是否可以为包名创建一个昵称,我可以在xml文件中引用?
我不想写整个包名,例如com.example.go.deck.today我可以创建一个别名并引用该别名吗?
我想在android / layout XML文件中引用别名或缺口而不是包名。
答案 0 :(得分:9)
不,抱歉,这是不可能的,至少不是直接在Android工具集中。
答案 1 :(得分:5)
Android本身并不提供此类设施。但是你可以用蚂蚁为你做这件事。您可以编写自定义build.xml,自定义目标<target name="-code-gen">
以在生成R
类之前执行令牌替换。您可以添加规则:
<replace file="targetFile" token="@PACKAGE_ALIAS@" value="com.example.go.deck.today"/>
这会在@PACKAGE_ALIAS@
中用com.example.go.deck.today
替换targetFile
的每一次出现。
我不是ant
专家,但根据过去的经验,我会说编写一条可以扫描res
目录中所有文件的规则并不难。
答案 2 :(得分:2)
虽然不能直接引用包名,但是,
在‘resource’
中使用xml
或代码是:
package.R.resource_type.resource_name
和
@[package:]resource_type/resource_name
注意:此处的包不代表‘java package’
,而是package == application
,因此,如果您要访问自己应用中定义的资源,则可以跳过它。这就是我们使用@strings/name
或直接R.strings.name
的原因。与使用android定义的资源类似,我们将使用@android:string/name
或android.R.string.name