$packageName.$activityClass 如何在布局 XML 文件中工作?

Posted

技术标签:

【中文标题】$packageName.$activityClass 如何在布局 XML 文件中工作?【英文标题】:How does $packageName.$activityClass work in layout XML files?$packageName.$activityClass 如何在布局 XML 文件中工作? 【发布时间】:2014-07-26 10:05:12 【问题描述】:

ADT 现在生成具有以下属性的 XML 布局:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_
    android:layout_
    tools:context="$packageName.$activityClass" >

设计工具如何知道它属于哪个类?

【问题讨论】:

【参考方案1】:

我的 Eclipse ADT 自动生成以下内容:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_
    android:layout_
    tools:context="$relativePackage.$activityClass" >

</RelativeLayout>

我的问题是:“是否有一个 Eclipse ADT 参考,列出并解释了所有可用的变量,可以与 Android 工具属性一起使用?

例如,很高兴看到类似的内容:

relativePackage:解析为“AndroidManifest.xml”文件中&lt;manifest&gt;元素的package=属性值。 activityClass:解析为“AndroidManifest.xml”文件中&lt;activity&gt;元素的android:name=属性值。 等。 ... ... 包含任何/所有其他可用变量的列表

我找到了一些与工具名称空间相关的链接,但没有一个可以解释 Eclipse ADT 是如何解析的,例如,$relativePackage

Android 工具项目网站

Tools Attributes -> 显示“工具”命名空间中可用的属性

Designtime Layout Attributes -> 展示了您将使用属性的一些“方式和原因”

*** 网站

Android “tools” namespace in layout xml documentation -> 将属性值抽象到 xml 文件中

What's “tools:context” in Android layout files? -> 显示了很多关于工具属性的好信息,但没有回答我的问题“是否有列出...的 Eclipse ADT 参考”;它只显示tools:context=".MainActivity"

What's tools:layout in fragment xml file? -> 提供了一些关于使用 Eclipse ADT 图形布局编辑器的见解

【讨论】:

【参考方案2】:

我不知道我的问题是否正确,但据我了解...这是关于 ADT 工具如何知道哪个包和哪个类...

答案是在创建项目时,您可能已经提到(通常每个人在大多数情况下都这样做)包名称以及主要活动类,然后 ADT 工具从那里获取详细信息并将它们放入您引用的 XML 中...

【讨论】:

不,我的意思是它在 XML 中字面意思是 $activityClass【参考方案3】:
tools:context="$relativePackage.$activityClass"

realtivePackage 和 activityclass 里面的标签出现错误如何解决

【讨论】:

以上是关于$packageName.$activityClass 如何在布局 XML 文件中工作?的主要内容,如果未能解决你的问题,请参考以下文章

快速获取App的packageName、Activity小结

AndroidGetAPKInfo --- 检查包名(packageName)版本(versionNameversionCode)应用签名(Signature)等信息

npm install packagename 安装失败的解决办法

Flutter获取packageName和versionCode

Flutter获取packageName和versionCode

packageName和applicationId有什么区别(基于最新官方文档)