【转】android UI进阶之自定义组合控件

时间:2023-03-08 16:14:56

[源地址]http://blog.csdn.net/notice520/article/details/6667827

好久没写博客了。实在是忙不过来,不过再不总结总结真的不行了。慢慢来吧,有好多需要去总结的,博客里还是记录ui方面的。

今天和大家分享下组合控件的使用。很多时候android自定义控件并不能满足需求,如何做呢?很多方法,可以自己绘制一个,可以通过继承基础控件来重写某些环节,当然也可以将控件组合成一个新控件,这也是最方便的一个方法。今天就来介绍下如何使用组合控件,将通过两个实例来介绍。

第一个实现一个带图片和文字的按钮,如图所示:

【转】android UI进阶之自定义组合控件

整个过程可以分四步走。第一步,定义一个layout,实现按钮内部的布局。代码如下:

[html] view plain copy
  1. ) {
  2. hideBtn();// 隐藏按钮
  3. } else {
  4. showBtn();// 显示按钮
  5. }
  6. }
  7. };
  8. @Override
  9. public void hideBtn() {
  10. // 设置按钮不可见
  11. if (ib.isShown()) ib.setVisibility(View.GONE);
  12. }
  13. @Override
  14. public void showBtn() {
  15. // 设置按钮可见
  16. if (!ib.isShown()) ib.setVisibility(View.VISIBLE);
  17. }
  18. }
  19. interface EdtInterface {
  20. public void hideBtn();
  21. public void showBtn();
  22. }

另外,实现ImageButton(即那个叉)的点击事件,删除输入框中的内容,并隐藏按钮。

在TextWatch接口的afterTextChanged方法中对文字进行判断,若长度为0,就隐藏按钮,否则,显示按钮。

后面两步的实现就是加入到实际布局中,就不再写出来了,和上例的步骤一样的。最后显示效果如图:

【转】android UI进阶之自定义组合控件

  学会灵活的使用组合控件,对UI开发会有很大帮助。有什么问题可以留言交流~