Android自定义带标题边框的Layout

本文介绍了如何在Android中自定义一个带有标题和边框的Layout。通过理解自定义View的步骤,包括在attrs.xml中添加属性、构造方法中获取属性值、重写onMeasure和onDraw方法,作者详细讲解了实现目标效果的全过程。在实践中遇到了Canvas.drawText()的使用技巧和长度单位认识的问题,并给出了解决子View覆盖边框的两种方法。
摘要由CSDN通过智能技术生成

前言:Android提供了一些方便使用的组件:TextView等,但是很多时候,默认的组件不能满足需要,因此,必需掌握“自定义组件”的能力。对于程序员,或者其它职业,应当直面自己缺失的东西,通过这种方式,掌握新知识,新技能,这样子,才能在快速迭代的社会里,不被淘汰。


其实对于自定义View,现在我还停留在理解理论的层面,知道大概的步骤:

1、在value/attrs.xml里,添加自定义View需要用到的一些变量属性,可以在布局文件里和代码里,给这些属性赋值;

2、在自定义View的构造方法里,获取属性的赋值(方便后面步骤使用);

3、根据需要,在onMeasure方法里,重新测量View的一些尺寸;

4、重写onDraw;


于是,我找来一些自定义的博客,跟着敲代码,通过实操,深化自定义View的过程和期间遇到的问题。

下面是原文路径:http://blog.csdn.net/xuwei527/article/details/11993103


期间,遇到的问题有:

1、Canvas.drawText()绘制文字的注意事项;

2、长度单位的认识;


那么开始进入正题。

目标实现的效果:给Layout添加外边框,和标题。



步骤:

1、添加属性

这里直接使用了上面博主的,其中"titleTextColor"属性,因与系统定义的冲突,所以改名为“titleTextColor1”

<declare-styleable name="TitleBorderLayout">
        <!-- The title of BorderTitleLayout. -->
        <attr name="title" format="string" />
        <!-- The size of title. -->
        <attr name="titleTextSize" format="dimension" />
        <!-- The title start postion. -->
        <attr name="titlePosition" format="dimension" />
        <!-- The color of title. -->
        <attr name="titleTextColor1" format="reference|color" />
        <!-- The size of border. -->
        <attr name="borderSize" format="dimension" />
        <!-- The colo
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值