【问题标题】:Difference between "@" and "?" on concrete example?“@”和“?”的区别具体例子?
【发布时间】:2015-03-17 09:38:50
【问题描述】:

我知道以@? 开头的XML 属性之间的区别定义。第一个是指全局样式属性,而第二个适用于具体样式中的同一属性。简而言之。

但是,我仍然不确定何时使用一个或另一个限定符。即,有什么区别

android:textAppearance="?android:attr/textAppearanceLarge"
android:textAppearance="@android:style/TextAppearance.Large"

这是同一个属性吧?!

那么,为什么会有

android:textColor="@android:color/black"

并且没有类似

的东西
android:textColor="?android:color/black" (or similar variance)

最后,? 的用法与使用 DeviceDefault 组中的属性相同吗?

我希望有人能够为我澄清这些事情。我确信我把事情复杂化了,这就是我需要澄清的原因。

【问题讨论】:

    标签: android android-layout android-xml


    【解决方案1】:

    这个也可以

    android:textColor="?android:color/black"

    将此设置为某个 xml 组件,您可以从 xml 导航到该组件,该组件将在您的内部

    /sdk/platforms/android-#/data/res/values/colors.xml

    【讨论】:

      【解决方案2】:

      ?android = 用于访问在样式主题中定义的样式属性

      信息:http://developer.android.com/guide/topics/resources/accessing-resources.html#ReferencesToThemeAttributes

      @android = 这用于在您的项目或 Android 框架中定义的资源。

      例如:

      android:textAppearance="?android:attr/textAppearanceLarge"这是当前主题中的样式。

      android:textAppearance="@android:style/TextAppearance.Large"这是一种android的内置风格..毫无疑问这些可能是一样的..

      查看此链接:

      dpi value of default "large", "medium" and "small" text views android

      【讨论】:

      • 但是“风格主题”可以是自定义的(我的)还是系统的(比如 Holo)?那么在 Holo 主题上使用 ? 会访问仅存在于 Holo 主题中的属性吗?
      • 我无法理解你的最后一点。你能澄清一下吗?也许举个例子?我贴了几个例子
      猜你喜欢
      • 2012-03-27
      • 1970-01-01
      • 2019-06-06
      • 2013-04-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多