当前位置: 代码迷 >> Android >> 自定义组件的有关问题
  详细解决方案

自定义组件的有关问题

热度:8   发布时间:2016-04-28 04:45:10.0
自定义组件的问题
最近在搞自定义组件,请问我们自定义组件时,在xml文件里,怎么才可以在输入属性值时有提示?
就是效果和系统的一样,在输入layout_width时,按提示会出现match_parent等。
自定义组件如何实现这样的功能?
------解决方案--------------------
需要去values里自己写个attr, 这个是android源码里对layout_width这个属性的定义,你可以看下。
        
     <attr name="layout_width" format="dimension">
            <!-- The view should be as big as its parent (minus padding).
                 This constant is deprecated starting from API Level 8 and
                 is replaced by [email protected] match_parent}. -->

            <enum name="fill_parent" value="-1" />
            <!-- The view should be as big as its parent (minus padding).
                 Introduced in API Level 8. -->

            <enum name="match_parent" value="-1" />
            <!-- The view should be only big enough to enclose its content (plus padding). -->
            <enum name="wrap_content" value="-2" />
       </attr>

属性定义好以后,你要对你的控件配置属性
<declare-styleable name="名字">
     <attr name="layout_width" />
     <!-- 如果是简单的boolean类型的属性可以这么写-->
     <attr name="XXXX" format="boolean" />
</declare-styleable>

然后去.java里加入一个构造方法,至于具体怎么写你可以参考下一些开源的自定义控件
  相关解决方案