【问题标题】:How do you pass the gravity attribute via xml for a custom view?如何通过 xml 为自定义视图传递重力属性?
【发布时间】:2014-11-20 18:54:21
【问题描述】:

我正在尝试弄清楚如何通过 xml 传递 android:gravity 以获得自定义视图。

此处发布的解决方案 (https://stackoverflow.com/a/3441986/413254) 表示将 android:gravity 属性添加到其他属性。

当我这样做时,我会得到一个警告:

/Users/greg/dev/company/mobile/my_app/app/src/main/res/values/colors.xml

错误:属性“android:gravity”已被定义 错误:任务 ':app:processStagingDebugResources' 执行失败。

com.android.ide.common.internal.LoggedErrorException:无法运行命令: /Users/greg/dev/android-sdk/sdk/build-tools/21.0.2/aapt package -f --no-crunch -I /Users/greg/dev/android-sdk/sdk/platforms/android-21 /android.jar -M /Users/greg/dev/company/mobile/myapp/app/build/intermediates/manifests/full/staging/debug/AndroidManifest.xml -S /Users/greg/dev/company/mobile/myapp/app/build/intermediates/res/staging/debug -A /Users/greg/dev/company/mobile/myapp/app/build/intermediates/assets/staging/debug -m -J /Users/greg/dev/company/mobile/myapp/app/build/generated/source/r/staging/debug -F /Users/greg/dev/company/mobile/myapp/app/build/intermediates/res/resources-staging-debug.ap_ --debug-mode --custom-package com.company.vendorreviews -0 apk --output-text-symbols /Users/greg/dev/company/mobile/myapp/app/build/intermediates/symbols/staging/debug 错误代码: 1 输出: /Users/greg/dev/company/mobile/myapp/app/build/intermediates/res/staging/debug/values/values.xml:165: 错误:属性“android:gravity”已被定义

我的 colors.xml 文件?

values.xml 的第 165 行是

<declare-styleable name="StackedTextView">
    <attr format="integer" name="android:gravity"/>
    <attr format="string" name="line1"/>
    <attr format="string" name="line2"/>
    <attr format="dimension" name="line1_textSize"/>
    <attr format="dimension" name="line2_textSize"/>
</declare-styleable>

在多个组中多次出现 android:gravity。 Theme、FlowLayout(我包含的库)、LinearLayoutCompat等

编辑:更新错误消息。

【问题讨论】:

  • 对我有用: 标签内
  • 嗯...它发生在我的 colors.xml 中??更新完整错误
  • 发布 values.xml 第 165 行和周围的行号,然后
  • 已更新。我不相信周围的线条会非常相关。
  • 去掉格式属性

标签: android android-xml android-custom-view


【解决方案1】:

通过写作:

<attr format="integer" name="android:gravity"/>

你是在引入整数格式的新属性android:gravity,当然android:gravity已经在系统中定义了,所以你需要把它改成:

<attr name="android:gravity"/>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-03-17
    • 1970-01-01
    • 2018-11-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-29
    相关资源
    最近更新 更多