Android自定义view自定义属性怎么使用,请牛人指导

发布网友 发布时间:2022-04-21 23:49

我来回答

1个回答

热心网友 时间:2023-07-29 12:25

自定义View一共分为两大类,具体如下图:

对于自定义View的类型介绍及使用场景如下图:

在使用自定义View时有很多注意点(坑),希望大家要非常留意:

View的内部本身提供了post系列的方法,完全可以替代Handler的作用,使用起来更加方便、直接。

主要针对View中含有线程或动画的情况:当View退出或不可见时,记得及时停止该View包含的线程和动画,否则会造成内存泄露问题

当View带有滑动嵌套情况时,必须要处理好滑动冲突,否则会严重影响View的显示效果。

接下来,我将用自定义View中最常用的继承View来说明自定义View的具体应用和需要注意的点

在下面的例子中,我将讲解:

下面我将逐个步骤进行说明:
步骤1:创建自定义View类(继承View类)

特别注意:

步骤2:在布局文件中添加自定义View类的组件及显示

至此,一个基本的自定义View已经实现了,运行效果如下图。

接下来继续看自定义View关于属性自定义的问题:

先来看wrap_content & match_parent属性的区别

如果不手动设置支持 wrap_content 属性,那么 wrap_content 属性是不会生效(显示效果同 match_parent )

padding 属性:用于设置控件内容相对控件边缘的边距;

如果不手动设置支持padding属性,那么padding属性在自定义View中是不会生效的。

绘制时考虑传入的padding属性值(四个方向)。

除了常见的以android:开头的系统属性(如下所示),很多场景下自定义View还需要系统所没有的属性,即自定义属性。

实现自定义属性的步骤如下:

下面我将对每个步骤进行具体介绍

对于自定义属性类型 & 格式如下:

至此,一个较为规范的自定义View已经完成了。

Carson_Ho的github: 自定义View的具体应用

不定期分享关于安卓开发的干货,追求短、平、快,但却不缺深度

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com