2010-12-08 4 views
11

En général, le plug-in Eclipse Android fonctionne comme prévu avec auto-complétion. Cependant, cela ne fonctionne pas pour un contrôle personnalisé que j'ai écrit. Fondamentalement, la liste complète automatique est vide autre que les options d'espace de noms par défaut.Eclipse Plugin Android ne listant pas les attributs avec auto-complétion pour composant personnalisé

Le contrôle hérite du widget Bouton et ajoute du texte supplémentaire. J'ai un couple d'attributs supplémentaires que j'utilise défini comme tel:

<?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> 

sinon il utilise tous les attributs standard du widget Bouton.

Dans le fichier de mise en page que je spécifie l'espace de noms:

<?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" 
    ... 

et j'utilise le contrôle:

<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" 
/> 

Tout fonctionne très bien, mais les utilisateurs ne bénéficient pas de l'auto-complétion pour voir quels attributs sont disponibles. Idéalement, j'aimerais voir les attributs Button hérités ainsi que les attributs personnalisés que j'ai définis.

Des idées?

+0

Propriétés Pas même les attributs normaux fonctionnent lorsque vous faites une vue personnalisée. Je ne sais vraiment pas pourquoi :( – Macarse

+0

J'ai posé à peu près la même question il y a environ deux mois, et je n'ai pas pu obtenir de réponse significative, j'espère que ce sera plus heureux pour nous =) – Phonon

+0

Et vous avez utilisé le Type de fichier "Android xml"? – rds

Répondre

1

Il ne fonctionne pas pour moi, que ce soit, sur Eclipse avec ADT helios v0.9.7

Cependant, il pourrait être possible (grâce au fichier xml resources et l'introspection de la classe parente). J'ai eu un look (plus long que prévu) dans le code source ADT (j'adore l'open-source), et je pense que ça devrait marcher. La méthode computeAttributeProposals(...) de AndroidContentAssist lit les attributs dans un ElementDescriptor et il semble qu'ils devraient être correctement initialisées pour les contrôles personnalisés grâce à CustomViewDescriptorService

0

Je trouve que la fermeture de tous les points de vue et la réouverture répandrai ma attributs personnalisés à afficher

+0

Ca marche pour moi. Peut-être parce qu'Eclipse est meilleur en 2014 qu'en 2011 ... – mrmoment

Questions connexes