布局:
<?android.support.constraint.constraintlayout>xml version="1.0"encoding="utf-8"?>
<android.support.constraint.constraintlayoutxmlns:android=""xmlns:=""xmlns:tools=""android:layout_width="match_parent"android:layout_height="match_parent"tools:context="com.example.day_0330_view.mainactivity">
<com.example.day_0330_view.circleviewandroid:layout_width="wrap_content"android:layout_height="wrap_content"/>
編寫自定義view
importandroid.content.context;importandroid.graphics.canvas;
importandroid.graphics.color;
importandroid.graphics.paint;
importandroid.support.annotation.nullable;
importandroid.util.attributeset;
importandroid.view.motionevent;
importandroid.view.view;
public classcircleviewextendsview
//當我們在布局檔案裡去引用這個類的時候
publiccircleview(context context, @nullable attributeset attrs)
//當我們在布局檔案裡去用這個類時就會呼叫 defstyleattr可以設定他的樣式
publiccircleview(context context, @nullable attributeset attrs,intdefstyleattr)
@override
protected voidondraw(canvas canvas)
@override
public booleanontouchevent(motionevent event)
//重新繪製, 只要呼叫此方法,就會呼叫ondraw()
// invalidate(); 只能在主線程裡面去呼叫,不能在子執行緒裡面去呼叫
//既能在主線程裡面去呼叫,也能在子執行緒裡面去呼叫
postinvalidate();
//事件自己消費掉
return true;
}}
使用xib自定義乙個view
今天專案中需要自定義的table區頭和區腳,而又無法直接在ib中實現自定義的樣式,所以建立了乙個xib自定義的view 去實現,具體步驟為 首先建立view 類,無法攜帶xib模板 然後單獨建立乙個view 的ib模板 把calss 關聯起來 修改屬性控制器size型別為freeform,為了自定義...
用Xib自定義乙個View
1.新建乙個繼承於view的類,再建乙個有view的xib檔案,選中這個xib的file s owner,修改custom class.2.把size選成freeform,這樣你就可以隨意的調整view的大小了。3.在xib上布局好 4.下面就是如何使用這個xib。有兩種方法。使用 方法初始化。先把...
自定義View,建立乙個小圓點,單擊可以拖動
xml version 1.0 encoding utf 8 xmlns android xmlns xmlns tools android layout width match parent android layout height match parent tools context com....