如果你打算完全定製乙個view,那麼你需要實現view類(所有的android view都實現於這個類),並且實現確定尺寸的onmeasure(…))方法和確認繪圖的ondraw(…))方法。
效果圖:
第一步:繼承view,實現構造方法:
public
class
smaileview
extends
view
public
smaileview(context context, attributeset attrs)
public
smaileview(context context, attributeset attrs, int defstyleattr)
第二步:實現畫筆paint類,準備兩支畫筆:
/**
* 實現畫筆
*/private void initpaints()
第三步:重寫onmearsure(…)方法:
以下是乙個正方形,確認它的寬和高是一樣的。
@override
protected
void
onmeasure(int widthmeasurespec, int heightmeasurespec)
注意:這個方法需要至少保證乙個setmeasureddimension(..)呼叫,否則會報illegalstateexception錯誤。
第四步:重寫onsizechanged(…):
@override
protected
void
onsizechanged(int w, int h, int oldw, int oldh)
第五步:重寫ondraw()方法:
這個方法提供了如何繪製view,它提供的canvas類可以進行繪製。
@override
protected
void ondraw(canvas canvas)
第六步:新增你的view到布局檔案:
<?xml version="1.0" encoding="utf-8"?>
xmlns:android=""
xmlns:tools=""
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.classical.example_view.mainactivity">
android:layout_width="match_parent"
android:layout_height="match_parent"/>
relativelayout>
Android 6步教你自定義View
標籤 android view 2017 02 09 17 00 119人閱讀收藏 舉報 android 203 目錄 如果你打算完全定製乙個view,那麼你需要實現view類 所有的android view都實現於這個類 並且實現確定尺寸的onmeasure 方法和確認繪圖的ondraw 方法。p...
Android 6步教你自定義View
如果你打算完全定製乙個view,那麼你需要實現view類 所有的android view都實現於這個類 並且實現確定尺寸的onmeasure 方法和確認繪圖的ondraw 方法。自定義view一共分為6步 第一步 public class smileyview extends view public...
教你6步定製你的Ubuntu桌面
教你6步定製你的ubuntu桌面 對於那些想要乙個易於使用的介面的使用者,ubuntu是乙個很好的linux發行版,並且對於乙個linux新手也可以說是最好的linux發行版。不過這產生了一些 那就是,對於介面和外觀,canonical公司已經為使用者做了很多設定,尤其是unity桌面環境。然而這些...