好久没写博客了。实在是忙不过来,不过再不总结总结真的不行了。慢慢来吧,有好多需要去总结的,博客里还是记录ui方面的。
今天和大家分享下组合控件的使用。很多时候android自定义控件并不能满足需求,如何做呢?很多方法,可以自己绘制一个,可以通过继承基础控件来重写某些环节,当然也可以将控件组合成一个新控件,这也是最方便的一个方法。今天就来介绍下如何使用组合控件,将通过两个实例来介绍。
第一个实现一个带图片和文字的按钮,如图所示:

整个过程可以分四步走。第一步,定义一个layout,实现按钮内部的布局。代码如下:
这个xml实现一个左图右字的布局,接下来写一个类继承LinearLayout,导入刚刚的布局,并且设置需要的方法,从而使的能在代码中控制这个自定义控件内容的显示。代码如下:
第三步,在需要使用这个自定义控件的layout中加入这控件,只需要在xml中加入即可。方法如下:
注意的是,控件标签使用完整的类名即可。为了给按钮一个点击效果,你需要给他一个selector背景,这里就不说了。
最后一步,即在activity中设置该控件的内容。当然,在xml中也可以设置,但是只能设置一个,当我们需要两次使用这样的控件,并且显示内容不同时就不行了。在activity中设置也非常简单,我们在ImageBt这个类中已经写好了相应的方法,简单调用即可。代码如下:
这样,一个带文字和图片的组合按钮控件就完成了。这样梳理一下,使用还是非常简单的。组合控件能做的事还非常多,主要是在类似上例中的ImageBt类中写好要使用的方法即可。
再来看一个组合控件,带删除按钮的EidtText。即在用户输入后,会出现删除按钮,点击即可取消用户输入。
定义方法和上例一样。首先写一个自定义控件的布局:
实现输入框右侧带按钮效果,注意将按钮隐藏。然后写一个EditCancel类,实现删除用户输入功能。这里用到了TextWatch这个接口,监听输入框中的文字变化。使用也很简单,实现他的三个方法即可。看代码:
另外,实现ImageButton(即那个叉)的点击事件,删除输入框中的内容,并隐藏按钮。
在TextWatch接口的afterTextChanged方法中对文字进行判断,若长度为0,就隐藏按钮,否则,显示按钮。
后面两步的实现就是加入到实际布局中,就不再写出来了,和上例的步骤一样的。最后显示效果如图:

学会灵活的使用组合控件,对UI开发会有很大帮助。有什么问题可以留言交流~
分享到:
相关推荐
在Android应用开发中,UI设计和交互是至关重要的部分,而自定义控件可以让你创造出具有独特风格和功能的界面。以下是对给定文件中提到的知识点的详细说明: 1. **UI工作原理:Viewgroup/View/Window/WindowManager...
在Android应用开发中,UI设计是至关重要的一环,特别是在用户交互方面。本篇文章将深入探讨如何在ListView中实现CheckBox的多选功能,并记录用户的选定状态。ListView是Android中常用的一个控件,它允许我们以列表的...
滑动指示器可以使用CirclePageIndicator或其他自定义控件实现,按钮则用于跳转到主应用界面。同时,可以监听ViewPager的滑动事件,以便在用户完成所有引导页后触发相应的逻辑。 此外,考虑到用户可能已经熟悉应用,...
在Android开发中,ListView是一种非常常见的控件,用于展示大量数据列表。然而,当数据量过大时,一次性加载所有数据可能会消耗大量内存,导致应用性能下降甚至崩溃。为了解决这个问题,开发者通常会采用分页加载...
《Android自定义控件入门到实战》是一本深入讲解Android平台下自定义控件开发的教程,源码2018.10版提供了一套完整的实践案例,帮助开发者从基础到进阶全面掌握自定义控件的制作技巧。这份资料涵盖了从基本的自定义...
总之,掌握自定义控件开发是Android开发者进阶必备的技能,这不仅可以提升开发水平,还能让应用更具特色,吸引更多的用户。所以,深入学习并实践这份教程,对于Android开发者来说是极有价值的。
需要注意的是,随着Android开发的不断进化,一些新的控件和库也被引入,如RecyclerView,它是对ListView的一次重大升级,支持更加灵活的布局管理和更高效的滚动性能。因此,开发者在实现类似功能时,也可以考虑使用...
其次,书中深入探讨了Android应用的UI设计与布局,如XML布局、视图控件的使用、自定义View的创建等。此外,还涵盖了Android事件处理机制,以及触摸事件和键盘事件的响应,这些都是构建用户友好界面的关键技术。 在...
在Android开发中,自定义控件是提升应用独特性和用户体验的重要手段。自定义控件允许开发者根据需求扩展标准Android组件,实现独特的交互效果和视觉样式。本教程将深入探讨如何在Android中创建自定义控件及其属性...
3. **自定义View**:学习绘制自定义控件的方法,掌握Canvas绘图上下文的使用,以及Path、Paint等类的功能介绍。 ### 实战项目 1. **案例分析**:通过对具体案例的分析,让读者了解实际项目中的开发流程和技术选型...
本资源主要涵盖了三个核心主题:自定义控件、第三方组件的使用与实现原理以及Android应用架构。这些知识点都是Android开发者必须掌握的重要技能。 首先,自定义控件是Android开发中的一个重要部分。Android系统虽然...
在Android开发中,自定义控件能够满足开发者对界面及交互的特殊需求,提升应用的个性化和用户体验。本文将深入探讨如何实现一个自定义的滑动...对于进阶Android开发者来说,掌握自定义控件的制作是提升技能的重要一环。
在Android开发中,自定义控件(Custom View)是一项重要的技术,它允许开发者根据项目需求创建具有独特功能和视觉效果的UI元素。自定义控件不仅能够提高应用的个性化程度,还能有效地重用代码,提升开发效率。在这个...
【自定义轮播控件MyWheel】是一种在Android开发中常用的UI组件,它允许开发者创建具有滑动效果的展示内容的视图,如广告轮播、选项选择等。...同时,理解和掌握自定义控件的开发也是Android开发者进阶的重要技能之一。
《Android高手进阶教程》是一本专为已经具备一定Android基础知识的学习者设计的教程,旨在帮助读者提升在Android开发领域的专业技能。这本书采用中文撰写,易于理解和学习,内容覆盖了Android开发的诸多重要方面。 ...
这种控件在Android launcher或者自定义的UI中应用广泛,能够提供更加丰富的交互体验。下面是使用SlidingDrawer的一般步骤: 1. 新建Android工程,并命名为SlidingDrawer。 2. 准备所需素材,如使用Launcher2中的...
【Android 高手进阶教程】是一系列...这仅仅是Android高手进阶教程的一部分,更多的高级主题可能涵盖性能优化、自定义视图、多线程处理、网络编程、数据库操作等方面,这些都是开发者不断提升技术水平所必需掌握的。
在Android UI设计中,抽屉(Sliding Drawer)是一种常见的交互元素,它可以提供一种隐藏和展示内容的方式,常用于实现侧滑菜单或类似功能。本文将深入探讨如何在Android中使用Sliding Drawer控件,以创建一个类似...
标题中的“Android-一款在我的页面与设备页面使用频率较高的组合控件”暗示了我们要讨论的是一个在Android应用中经常用于“我的页面”和“设备页面”的控件,它可能是一个集合了多种功能的UI组件,旨在提升用户界面...