Eclipse Android插件未列出自定义组件的自动完成属性

时间:2010-12-08 15:55:52

标签: android eclipse-plugin

通常,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 个答案:

答案 0 :(得分:1)

在使用ADT v0.9.7

的Eclipse helios上,它也不适用于我

然而,它可能是可能的(感谢resources xml文件和父类的内省)。 我有一个(比预期更长)的ADT源代码(我喜欢开源),我认为它应该工作。来自AndroidContentAssist的方法computeAttributeProposals(...)读取ElementDescriptor中的属性,并且由于CustomViewDescriptorService

,似乎应该为自定义控件正确初始化它们

答案 1 :(得分:0)

我发现关闭所有属性视图并重新打开导致我的自定义属性显示