Плагин Eclipse Android не перечисляет атрибуты с автозаполнением для настраиваемого компонента

В общем, подключаемый модуль Eclipse Android работает так, как ожидалось, с автозаполнением. Однако он не работает для настраиваемого элемента управления, который я написал. В принципе, полный список авто пуст, кроме параметров пространства имен по умолчанию.

Элемент управления наследуется от виджета Button и добавляет дополнительный текст. У меня есть несколько дополнительных атрибутов, которые я использую как таковые:

<?xml version="1.0" encoding="utf-8"?>
<resources> 
    <declare-styleable name="SubTextButton"
        <attr name="sub_text" format="string" />
        <attr name="sub_text_size" format="float" />
        <attr name="sub_text_color" format="color" />
    </declare-styleable>
</resources>

в противном случае он использует все стандартные атрибуты виджета Button.

В файле макета укажите пространство имен:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res/com.mycompany"
    ...

и я использую элемент управления:

<com.mycompany.SubTextButton
    android:layout_width="@dimen/status_bar_button_w"
    android:layout_height="@dimen/status_bar_button_h"
    android:layout_alignParentRight="true"
    android:background="@drawable/button_bg"
    android:text="HCD"
    android:textColor="@color/static_text"
    android:textSize="@dimen/font_size_standard"
    app:sub_text="SET"
    app:sub_text_size="12.0"
/>

Все работает отлично, но пользователи не имеют преимущества автозаполнения, чтобы узнать, какие атрибуты доступны. В идеале я бы хотел увидеть унаследованные атрибуты Button, а также пользовательские атрибуты, которые я определил.

Любые идеи?

Ответ 1

Это тоже не работает для меня, на Eclipse helios с ADT v0.9.7

Однако это может быть возможно (благодаря файлу resources xml и интроспекции родительского класса). У меня был (более ожидаемый) взгляд в исходном коде ADT (я люблю open-source), и я думаю, что он должен работать. Метод computeAttributeProposals(...) из AndroidContentAssist читает атрибуты в ElementDescriptor, и кажется, что они должны быть правильно инициализированы для пользовательских элементов управления благодаря CustomViewDescriptorService

Ответ 2

Я обнаружил, что закрытие всех представлений свойств и повторное открытие заставили показать мои пользовательские атрибуты