У меня есть пользовательский вид, основанный на GridLayout:Gradle ароматизаторов, ApplicationID и не решен настраиваемое представление атрибутов
package com.mycompany.myapp;
...
public class GridLayoutForceSizeCells extends GridLayout
{
}
Я определил XML с пользовательскими атрибутами для этого класса:
<?xml version="1.0" encoding="utf-8" ?>
<resources>
<declare-styleable name="GridLayoutForceSizeCells">
<attr name="totalImages" format="integer" />
<attr name="desiredColumnCount" format="integer" />
<attr name="spacing" format="dimension" />
<attr name="autoGenerate" format="boolean" />
</declare-styleable>
</resources>
Тогда, У меня есть макет, используя это:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:wheel="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent">
<com.mycompany.myapp.GridLayoutForceSizeCells
xmlns:grid="http://schemas.android.com/apk/res/com.mycompany.myapp"
android:padding="3dp"
android:id="@+id/cellsGrid"
android:layout_width="match_parent"
android:layout_height="match_parent"
grid:desiredColumnCount="20"
grid:totalImages="0"
grid:spacing="1dp"
android:orientation="horizontal"/>
</LinearLayout>
Проблема, с которой я сталкиваюсь, заключается в том, что когда я меняю приложение nId через атрибуты аромата gradle не разрешены. Я прочитал в gradlew help, что пакет приложений - тот, который используется для R, когда он разделен с помощью записи gradlew applicationId. Таким образом, applicationId не должен влиять на мой пакет настраиваемых атрибутов. Но когда я устанавливаю applicationId на что-либо, отличное от com.mycompany.myapp, возникает ошибка при утверждении, что атрибуты не могут быть разрешены.
Неужели кто-нибудь нашел решение?
Cheers.