Android custom Controls (ii) getting started, inheriting view
Last Update:2015-06-13
Source: Internet
Author: User
<span id="Label3"></p><p><p>Reprint Please specify Address: http://blog.csdn.net/ethan_xue/article/details/7313788</p></p><p><p>Ps: can study according to Apidemo LABLEVIEW,LIST4,LIST6</p></p><p><p>Documents in Dev Guide/framework topics/user interface/building Custom components</p></p><p><p></p></p><p><p>To customize a control:</p></p><p><p>1 View works 2 Write view Class 3 Add properties for view Class 4 draw screen 5 response user message 6 Custom callback function</p></p><p><p></p></p><p><p>Not much to say, mainly canvas, Paint, Path</p></p><p><p></p></p><strong><strong>[java]</strong></strong><span class="Apple-converted-space"><span class="Apple-converted-space"><span class="Apple-converted-space">View Plaincopy</span></span></span><object id="ZeroClipboardMovie_1" width="18" height="18" align="middle" bgcolor="#ffffff" data="http://static.blog.csdn.net/scripts/ZeroClipboard/ZeroClipboard.swf" type="application/x-shockwave-flash"><object id="ZeroClipboardMovie_1" width="18" height="18" align="middle" bgcolor="#ffffff" data="http://static.blog.csdn.net/scripts/ZeroClipboard/ZeroClipboard.swf" type="application/x-shockwave-flash"><param name="src" value="http://static.blog.csdn.net/scripts/ZeroClipboard/ZeroClipboard.swf"><param name="pluginspage" value="http://www.macromedia.com/go/getflashplayer"><param name="loop" value="loop"><param name="menu" value="false"><param name="quality" value="best"><param name="allowscriptaccess" value="always"><param name="allowfullscreen" value="false"><param name="flashvars" value="id=1&width=18&height=18"><param name="wmode" value="transparent"></object></object> <ol class="dp-j" start="1"> <li class="alt"><li class="alt"><span class="keyword">Public <span class="keyword">class CustomView1 <span class="keyword">extends View {</span> </span></span></li></li> <li><li></li></li> <li class="alt"><li class="alt"><span class="keyword">Private Paint mpaint; </span></li></li> <li><li><span class="comment">//private static final String MText = "drawText"; </span></li></li> <li class="alt"><li class="alt"><span class="keyword">private String MText = <span class="string">"drawText"; </span></span></li></li> <li><li></li></li> <li class="alt"><li class="alt">public <span class="keyword">CustomView1 (context context, attributeset attrs) {</span></li></li> <li><li><span class="keyword">Super (context, attrs); </span></li></li> <li class="alt"><li class="alt">}</li></li> <li><li></li></li> <li class="alt"><li class="alt"><span class="annotation">@Override</span></li></li> <li><li><span class="keyword">protected <span class="keyword">void OnDraw (canvas Canvas) {</span> </span></li></li> <li class="alt"><li class="alt"><span class="keyword">Super.ondraw (canvas); </span></li></li> <li><li>Mpaint = <span class="keyword">new Paint (); </span></li></li> <li class="alt"><li class="alt">Mpaint.setcolor (color.blue);</li></li> <li><li><span class="comment">//fill fill, Stroke stroke, fill_and_stroke fill and stroke</span></li></li> <li class="alt"><li class="alt">Mpaint.setstyle (style.fill);</li></li> <li><li>Canvas.drawrect (<span class="keyword">new Rect (<span class="number">ten, <span class="number">ten, + <span class="number"> <span class="number">), mpaint); <span class="comment"> Draw a rectangle</span> </span> </span> </span> </span> </span></li></li> <li class="alt"><li class="alt"></li></li> <li><li>Mpaint.setcolor (color.green);</li></li> <li class="alt"><li class="alt">Mpaint.settextsize (<span class="number">35.0f); </span></li></li> <li><li>Canvas.drawtext (mText, <span class="number">ten, <span class="number">mpaint); </span></span></li></li> <li class="alt"><li class="alt">}</li></li> <li><li></li></li> <li class="alt"><li class="alt">}</li></li> </ol><p><p><br><br></p></p><p><p></p></p><p><p>Layout</p></p><p><p></p></p><strong><strong>[java]</strong></strong><span class="Apple-converted-space"><span class="Apple-converted-space"><span class="Apple-converted-space">View Plaincopy</span></span></span><object id="ZeroClipboardMovie_2" width="18" height="18" align="middle" bgcolor="#ffffff" data="http://static.blog.csdn.net/scripts/ZeroClipboard/ZeroClipboard.swf" type="application/x-shockwave-flash"><object id="ZeroClipboardMovie_2" width="18" height="18" align="middle" bgcolor="#ffffff" data="http://static.blog.csdn.net/scripts/ZeroClipboard/ZeroClipboard.swf" type="application/x-shockwave-flash"><param name="src" value="http://static.blog.csdn.net/scripts/ZeroClipboard/ZeroClipboard.swf"><param name="pluginspage" value="http://www.macromedia.com/go/getflashplayer"><param name="loop" value="loop"><param name="menu" value="false"><param name="quality" value="best"><param name="allowscriptaccess" value="always"><param name="allowfullscreen" value="false"><param name="flashvars" value="id=2&width=18&height=18"><param name="wmode" value="transparent"></object></object> <ol class="dp-j" start="1"> <li class="alt"><li class="alt"><pre name=<span class="string">"code" <span class="keyword">class=<span class="string">"java" ><?xml version=<span class="string">"1.0" encoding=<span class="string">"utf-8"?></span> </span> </span></span></span></li></li> <li><li><linearlayout xmlns:android=<span class="string">"http://schemas.android.com/apk/res/android"</span></li></li> <li class="alt"><li class="alt">android:orientation=<span class="string">"vertical"</span></li></li> <li><li>Android:layout_width=<span class="string">"fill_parent"</span></li></li> <li class="alt"><li class="alt">android:layout_height=<span class="string">"fill_parent"</span></li></li> <li><li>></li></li> <li class="alt"><li class="alt"><ethan.customview1.customview1</li></li> <li><li>Android:layout_width=<span class="string">"wrap_content"</span></li></li> <li class="alt"><li class="alt">android:layout_height=<span class="string">"wrap_content"</span></li></li> <li><li>/></li></li> <li class="alt"><li class="alt"></linearlayout></pre><pre name=<span class="string">"code" <span class="keyword">class=<span class="string">"java" ></pre></span> </span> </span></li></li> </ol><p><p></p></p><p><p></p></p><p><p></p></p><p><p>Note that at this point, a textview is not displayed in the control (textview can be displayed on the Control) and later resolved</p></p><p><p><span class="Apple-converted-space">http://download.csdn.net/detail/ethan_xue/4108820</span></p></p><p><p>Android custom Controls (ii) getting started, inheriting view</p></p></span>