回复内容:
今天下午各种Google之后终于实现了这个界面的各种效果。最终的界面这样的,基本实现了问题里面的所有元素。
代码在mutexliu/ZhihuAnswer · GitHub
画图的过程碰到的问题有:
1.画圆角。
Path path = new Path (); path . moveTo ( left , top ); path . lineTo ( right - radius , top ); path . quadTo ( right , top , right , top + radius );我写过一个控件lzyzsd/CircleProgress · GitHub 我怎么觉得这种界面的难点在美工,配色等方面。一般纯程序员搞出来的总有股子山寨气息,就是配色和美工搞不好。。。 大半夜更新。。。( ????? )
///12.25 23点
and
闲着没事忽然发现,QQ是酱紫的。。。
这种自定义UI组件算是从事Android开发必备的技能之一吧。多写多练很快就能掌握这里面的技巧,掌握了技巧之后遇到具体需求和设计的时候,就会很快做出成果。
努力做到举一反三,而不是拘泥于一两个特定的案例。
。。
具体实现楼上已经讲的很清楚了,还有源码
不过一定要动手实现一遍 我知道的只有自定义View = =
(对于程序猿来说。。。ui的实现就是多写代码) 正好最近在做类似的实现。
Canvas里面有专门画圆弧的函数:
public void drawArc ( RectF oval , float startAngle , float sweepAngle , boolean useCenter , Paint paint )circleprogress
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://haodehen.cn/did66437