2016-12-28 24 views
0

如何創建此選擇(請參閱下圖)當我滑動我的手指通過單詞,使用畫布繪製一條線或一條直線。 我的字母是按鈕,放在GridLayout 15x15中。 如果可能,用透明的顏色。 謝謝!創建選擇當我滑動我的手指通過詞

Image to Example

編輯

我想這一點,但什麼都沒有。視圖v是一個字母(按鈕)

在方法OnTouch

switch (e.Action) 
{ 
    case MotionEventActions.Down: 
     _X = e.GetX(); 
     _Y = e.GetY(); 
    break; 

    case MotionEventActions.Move: 
     var left = (int)(e.RawX - X); 
     var right = (int)(left + v.Width); 
     Canvas c = new Canvas(); c 
     .DrawRect(new Rect(_X, _Y, _X + 200, _Y + 200), new Paint() { Color = Color.Red }); 
     ((GridLayout)v.Parent).Draw(c); 
    break; 
} 
return true; 
+0

嘗試使用畫布在手指滑過字時畫線 –

+0

我正在啓動並嘗試過,但沒有成功。我需要一個簡單的例子。 –

+0

歡迎來到SO!請閱讀[本指南](http://stackoverflow.com/help/how-to-ask)如何制定一個問題,以增加您獲得可以使用的答案的機會。就目前而言,由於問題太廣泛,所以有太多不同的好答案。你可以通過包括你自己試過的東西來縮小它的範圍。畢竟,這是一個代碼幫助網站。 – Demitrian

回答

0

可以創建點的2D陣列,並且當用戶從假設帕爾開始觸摸[2] [2]至帕爾[2] [ 5],您可以創建一個畫布,點數爲pArr [2] [2]和pArr [2] [5],您可以將該畫布添加到視圖中。

+0

你能舉一個簡單的例子嗎? –

+0

private void update(){ switch(event){ case Event.Down: var _X = e.GetX(); var _Y = e.GetY(); //創建一個全局Canvas for Line draw canvas = new Canvas(); //添加畫布查看 break; case event.Move: var left = getTouchX(); var top = getTouchY(); canvas.UpdateLine(left,right); // invalidate //更新行只會更新最後一點,比如 // canvas.drawLine(0,0,left,top,paint); 休息; } –

+0

你可以嘗試像這樣 –

相關問題