如何通过xml为自定义视图传递gravity属性?

loe*_*chg 3 android android-custom-view android-xml

我试图弄清楚如何android:gravity通过xml 传递自定义视图.

此处发布的解决方案(/sf/answers/240939051/)表示要将该android:gravity属性添加到其他attr的.

当我这样做时,我最后会发出警告:

/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 /用户/ 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:错误:属性"andr oid: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>
Run Code Online (Sandbox Code Playgroud)

在多个组中有多次出现android:gravity.主题,FlowLayout(包含库),LinearLayoutCompat等.

编辑:更新的错误消息.

psk*_*ink 6

写作:

<attr format="integer" name="android:gravity"/>
Run Code Online (Sandbox Code Playgroud)

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

<attr name="android:gravity"/>
Run Code Online (Sandbox Code Playgroud)