【问题标题】:Extract Support Library layout attributes into styles将支持库布局属性提取到样式中
【发布时间】:2014-01-08 08:25:29
【问题描述】:

我正在为支持库的GridLayout 中的视图提取样式。

因此,我拥有来自“android”命名空间的两个属性,例如android:layout_marginLeft="8dp" 和来自“应用程序”(http://schemas.android.com/apk/res-auto) 之一的属性,例如app:layout_columnSpan="2".

首先,当我尝试将属性提取为样式时,Android Studio 无法识别来自“app”的属性。其次,手动将它们提取到styles.xml 中似乎不会对实际布局产生任何影响。那么,是否可以将 Support Library 属性提取为单独的样式,以及如何提取?

【问题讨论】:

  • 你在使用 gradle build 吗?我对你有编译错误吗?还是 Android Studio 投诉/突出显示这些行?
  • 是的,我正在使用 Gradle 构建,并且正确,存在编译错误。我只是注意到之前在设计模式下忽略了这些属性,但结果仍然相同 - “应用程序”属性不起作用。
  • 您是否将架构添加到您的 xml 中?
  • 哪个 XML?如果您的意思是布局 XML,我一直在从工作文件中提取属性,所以是的,XML 命名空间已经在那里定义了。我也在样式 XML 中尝试过同样的事情,但没有成功。
  • 同时,由于这个similar question 已经被回答,自定义属性应该没有命名空间前缀并且它们将被识别。这对我有用,所以我将把它作为答案发布。

标签: android android-studio android-support-library android-styles


【解决方案1】:

我找到了这个answer to a similar question。同样的解决方案对我有用。

只需省略非“android”属性的命名空间前缀:

app:layout_columnSpan="2"在布局中变为

<item name="layout_columnSpan">2</item> 在样式中,不是

<item name="app:layout_columnSpan">2</item>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-09
    • 2021-08-26
    相关资源
    最近更新 更多