为啥Android自定义View看了很多视频和博客还是写不出来

慢慢写,一个点一个点,一条语句一条语句的去理解,可以写点测试代码一个方法一个方法的去调试,不要问别人,自己想想怎么调试,别人告诉你了,你就输了,输在了失去了一次自己解决问题的机会。

编程本来就是要花苦功夫的,从来没什么捷径,天资高的人可能理解得快一些,低的可能慢一些,但功夫花下去最终总是能成的,如果没成就说明你功夫花得还不够或者钻进了牛角尖,我自认没什么天赋,但我写的每一行代码都是用了夜以继日的思考和长年的编码调试的经验累积出来的(此处有些夸张,并非每行代码,如果真做到那我就是大师了,但思路肯定是正确的)。

【为啥Android自定义View看了很多视频和博客还是写不出来】 对于程序员来说,最宝贵的并不是你会写什么语言,去过什么公司,做过什么项目,编程语言学了不用会忘记,去过的公司时间长了可能会倒闭,做过的项目时代变了也会失去价值。真正宝贵的东西是你解决问题的经验,当你遇到问题时,如何才能不慌不忙,一步一步的去解决,如何寻找最优解,如何能判断自己钻进了牛角尖赶紧退出来,这些才是程序员和程序员之间能力上最大的差异。

■网友
泻药直接去github上找源码看,多看几个就会了
■网友
因为你没需求。。。需求来了死也要死出来
■网友
建议你先从最简单的来,首先先建一个extends view 的view类,然后忽略所有方法,只看onDraw()这个方法,研究一下paint,canvas,还有个re什么的忘记名字了,然后在里面写写画画(画圆,椭圆,文字什么的),网上看看onDraw()里面经常用到的画笔什么的几个工具类,然后到xml里面把你画的东西放进去,熟悉绘制之后,就去xml里面调试view的位置,宽高等属性,然后再去view的类里面去研究onLayout(),onMeasure()这两个方法,在研究这几个方法的时候可以看看各大网站上大神们的博客什么的借鉴一下,之后就可以结合这些属性去绘制各种位置,大小的view了,当你把这些简单的东西都去做一遍的时候,我觉得你对自定义view最基本的流程了解了,接着就可以研究更深一个层次了,不如在res/values里面设置自己定义的属性,获取xml里面的设置的属性,xml里面一用自己定义的属性并获取属性设置到view中等等,再之后,我觉得已经可以给这个自定义的view设置自定义监听,或者多个自定义 view的嵌套啊,什么的,自己去发挥自己的想象力吧最近我也在研究自定义view,看了好多gitHub上的大神们的代码总结的一点浅见,我实在编不下去了,词穷。。。。。。
■网友
照着源码里的View敲一遍光看有什么用
■网友
把布局相关的onLayout与onMeasure方法以及绘制相关的onDraw吃透就很容易写出自定义view了
■网友
没什么窍门,就只多写,多看,多练!
■网友
自定义view主要有两种一种直接继承View或者surfaceview,然后重写onDraw方法,简单点就是硬画一种是继承ViewGroup,然后用xml或者代码做布局,内部再用控件或者自定义的view进行填充对于第一种方法,可以考虑按照这个框架来填代码public class MyView extends View{public void setView(Value val){//Set values of the view and draw itinvalidate();}@Overridepublic void onDraw(Canvas canvas){Paint p;p.setSomething();canvas.drawSomething(p);}}示例容易,实际写起来才知道自己要学什么。
■网友
多模仿啊


    推荐阅读