}
重写onMeasure方法就完成了,主要逻辑就是,用户指定View的宽度值,不指定高度具体值,onMeasure中设置高度等于宽度。
下面针对这个逻辑我们在布局中测试验证一下,看看我们的正方形View的效果如何。
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android=“http://schemas.android.com/apk/res/android”
android:layout_width=“match_parent”
android:layout_height=“match_parent”
android:orientation=“vertical”>
<com.qj.squareview.SquareView
android:layout_width=“150dp”
android:layout_height=“wrap_content”
android:background=“#ff0000” />
<LinearLayout
android:layout_width=“match_parent”
android:layout_height=“100dp”>
<com.qj.squareview.SquareView
android:layout_width=“150dp”
android:layout_height=“wrap_content”
android:background=“#0000ff” />
<com.qj.squareview.SquareView
android:layout_width=“150dp”
android:layout_height=“match_parent”
android:background=“#00ff00” />
我们针对不同的情况对我们的SquareView做了测试,效果如下:
从效果图可以看出,只有宽度固定,高度不固定的情况是正方形的(跟我们onMeasure中的逻辑符合)。
到此我们的正方形View就完成了,使用时,坚持宽度固定值,高度不指定的原则就可以了。
下面给出SquareView的代码
public class SquareView extends View {
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数初中级安卓工程师,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年最新Android移动开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频
如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注Android)
最后
我见过很多技术leader在面试的时候,遇到处于迷茫期的大龄程序员,比面试官年龄都大。这些人有一些共同特征:可能工作了7、8年,还是每天重复给业务部门写代码,工作内容的重复性比较高,没有什么技术含量的工作。问到这些人的职业规划时,他们也没有太多想法。
其实30岁到40岁是一个人职业发展的黄金阶段,一定要在业务范围内的扩张,技术广度和深度提升上有自己的计划,才有助于在职业发展上有持续的发展路径,而不至于停滞不前。
不断奔跑,你就知道学习的意义所在!
以上进阶BATJ大厂学习资料可以免费分享给大家,需要完整版的朋友,【点这里可以看到全部内容】。
不至于停滞不前。
不断奔跑,你就知道学习的意义所在!
以上进阶BATJ大厂学习资料可以免费分享给大家,需要完整版的朋友,【点这里可以看到全部内容】。