Как избежать дублирования значения для ресурса 'attr / *' в CustomView - PullRequest
2 голосов
/ 21 февраля 2020

Если я импортирую:

CustomViewA (импортировано из Maven)

<declare-styleable name="CustomViewA">
        <attr name="min" format="float"/>
        <attr name="max" format="float"/>
</declare-styleable>

CustomViewB (импортировано из Maven)

<declare-styleable name="CustomViewB">
        <attr name="min" format="float"/>
        <attr name="max" format="float"/>
</declare-styleable>

Это не даст результатов, сказав, что min и max дублированы. Я думал, что Android будет отличать guish от declare-styleable name, но не думаю. Сказав это, каков наилучший способ присвоения имени пользовательскому представлению attr, чтобы избежать возможного повторения значения cla sh в будущем?

Единственное решение, которое я получил до сих пор:

<attr name="minForMyCustomViewHopingNoOneUsesThisName" format="float"/>

Что отстой.

Ответы [ 2 ]

0 голосов
/ 21 февраля 2020

вы можете сделать это

<attr name="min" format="float" />
<attr name="max" format="float" />

<declare-styleable name="CustomViewA">
    <attr name="min" />
    <attr name="max" />
</declare-styleable>

<declare-styleable name="CustomViewB">
   <attr name="min" />
   <attr name="max" />
</declare-styleable>
0 голосов
/ 21 февраля 2020

Чтобы сделать его уникальным, это окончательный ответ. Я готовлюсь к использованию

<attr name="custom_view_a_min" format="float"/>
<attr name="custom_view_b_min" format="float"/>
...