實現的功能:
手指在螢幕上滑動,紅色的小球始終跟隨手指移動。
實現的思路:
1)自定義view,在ondraw中畫圓作為小球;
2)重寫自定義view的ontouchevent方法,記錄觸屏座標,用新的座標重新繪製小球;
3)在布局中引用自定義view布局,執行程式,實現跟隨手指移動效果。
關鍵技術點:
自定義view應用、觸控事件處理、canvas繪圖、paint應用。
實現步驟:
1. 新建乙個工程,命名為ballviewdemo,activity命名為ballactivity;(5分)
2. 建立自定義view類ballview,自定義屬性:ball_size(10分);
新建attrs.xml檔案,自定義屬性ball_size,可以在布局檔案裡設定小球的大小
3. 繼承view實現自定義view(15分);
1)重寫自定義view的三個構造方法(5分)
2)初始化自定義屬性(5分)
3)對自定義屬性物件做**資源邏輯的處理(5分)
4. 實現ondraw()方法(20分);
1) 用canvas將螢幕設為白色(5分)
2) 設定畫筆顏色為紅色(5分)
3) 繪製小圓作為小球,半徑通過自定義屬性設定(10分)
5. 實現ontouchevent方法,處理觸控事件(40分);
1) 實現motionevent.action_down,記錄按下的x,y座標(10分)
2) 實現motionevent.action_move 記錄移動的x,y座標((10分)
3) 實現motionevent.action_up 記錄抬起的x,y座標((10分)
4) 使用 postinvalidate()方法實現重繪小球,跟隨手指移動(10分)
主方法什麼都不改
package com.example.day3_rikao;
import android.content.context;
import android.graphics.canvas;
import android.graphics.color;
import android.graphics.paint;
import android.support.annotation.nullable;
import android.util.attributeset;
import android.view.motionevent;
import android.view.view;
/** * author:created by mingshao on 2017/11/30.
*/public
class
zdy_view
extends
view
public
zdy_view(context context, @nullable attributeset attrs)
public
zdy_view(context context, @nullable attributeset attrs, int defstyleattr)
@override
protected
void
ondraw(canvas canvas)
@override
public
boolean
ontouchevent(motionevent event)
}
布局
<?xml version="1.0" encoding="utf-8"?>
xmlns:android=""
xmlns:tools=""
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.example.day3_rikao.mainactivity">
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
relativelayout>
手指上的安全
描述 該工具的主要目標是利用敲擊鍵盤時產生的聲音作為一種邊通道攻擊來猜測輸入文字的內容。為了達到這個目標,該演算法以訓練集作為輸入,這個訓練集包括音訊記錄和記錄期間你敲了哪些鍵盤按鍵。通過這些資料,該演算法可以學習到不同按鍵敲擊的聲音,之後就可以通過捕獲的音訊來嘗試識別敲鍵盤的聲音。訓練資料集的收集...
外掛程式 滑鼠或手指滑動事件
前端頁面經常用到滑動事件,即判斷是動作左滑 右滑 上滑或者下滑,然後根據事件型別完成不同的功能,最常見的就是h5的翻頁,如果需要的事件很簡單,就是判斷一下滑動方向然後執行 函式,那麼如果引用較大的外掛程式將會十分影響頁面的載入速度。下面就分享乙個簡單的滑動事件的外掛程式,輕量好用。看效果頁面請點這裡...
Slip 整屏滑動,移動端跟隨手指滑動
移動端跟隨手指滑動元件,零依賴。1 html id container class page page 1 src img 1.png class page page 2 src img 2.png class page page 3 src img 3.png class page page 4 ...