自定義View,建立乙個小圓點,單擊可以拖動

2021-08-04 21:58:25 字數 1358 閱讀 4929

<?

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.xx.viewview.mainactivity"

>

//這裡定義的是自定義的那個view繼承的view的類

android

:layout_width=

"wrap_content"

android

:layout_height=

"wrap_content"

/>

linearlayout

>

//自定義乙個自定義view的類,繼承view,在activity_main布局中應用

public class newview extends view

public

newview(context context,

@nullable attributeset attrs)

@override

protected void

ondraw(canvas canvas)

//要單點拖動,保證手指在圓上的時候才移動,我們需要判斷觸控的位置

@override

public boolean

ontouchevent(motionevent event) else

break;

case motionevent.action_move

://移動的事件

//如果是true的話可以移動,

//重新設定一下圓心的位置,把圓心的位置(paintx,painty)

//設定成我們當前觸控的位置(event.getx(),event.gety())

if (moveable)

break;

case motionevent.action_up

://抬起的事件

toast.maketext(getcontext(),

"我抬起來了"

, toast.length_short

).show();

break;

} return true;

}}

自定義小圓點

linerlayout用來裝小圓點 1.建立方法 public void createpoint 2.小圓點 new出來的imageview 背景是自定義的shape,以下就是在 drawable中的shape,小圓點就是imageview設定了乙個背景 選中的背景shape 未選中的shape 小...

使用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。有兩種方法。使用 方法初始化。先把...