Плагин Eclipse для Android не содержит атрибутов с автозаполнением для пользовательского компонента - PullRequest
11 голосов
/ 08 декабря 2010

В общем случае плагин 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 атрибуты, а также пользовательские атрибуты, которые я определил.

Есть идеи?

Ответы [ 2 ]

1 голос
/ 30 марта 2011

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

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

0 голосов
/ 20 сентября 2014

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...