通過自定義ImageView來實現多點觸控

2021-08-31 19:58:33 字數 1004 閱讀 3571

public class main extends activity 

// 觸屏事件

@override

public boolean ontouchevent(motionevent event) else if (event.getpointercount() == 1)

} return true;

} /**

* 自定義imageview類

*/class myimageview extends imageview

// 用來設定imageview的位置

private void setlocation(int x, int y)

// 用來放大縮小imageview 因為是填充imageview的,所以也就有放大縮小的效果

private void setscale(float temp, int flag) else

} // 繪製邊框

@override

protected void ondraw(canvas canvas)

/** 讓跟隨手指觸屏的位置移動 beforex、y是用來儲存前一位置的座標 afterx、y是用來儲存當前位置的座標

* 它們的差值就是imageview各座標的增加或減少值

*/public void movewithfinger(motionevent event)

} // 通過多點觸屏放大或縮小影象 beforelenght用來儲存前一時間兩點之間的距離 afterlenght用來儲存當前時間兩點之間的距離

public void scalewithfinger(motionevent event)

// 如果當前時間兩點距離大於前一時間兩點距離,則傳0,否則傳1

if (gaplenght > 0) else

beforelenght = afterlenght;

break;

}} }

}

自定義圓形Imageview

1 學習一定要善於總結,和敢於使用新的知識 2 一直使用的都是別人寫好的控制項,今天趁著國慶放假有時間,嘗試自己寫經常要用到的框架 3 知識總結 一 用於建立canvas的bitmap不能是已經存在的bitmap 二 這個自定view中遇到乙個坑就是的大小和遮罩大小不匹配是,需要我們對bitmap做...

自定義ImageView控制項

package com.zdsoft.circleimageview import android.content.context import android.content.res.typedarray import android.graphics.bitmap import android....

自定義圓形 ImageView

android預設的imageview是矩形的,為了達到圓形的目的,需要自定義控制項,繼承imageview,重寫ondraw函式。最終效果 具體步驟 1.先根據控制項的短的一邊為半徑繪製乙個圓形 bitmap bitmap bitmapdrawable drawable getbitmap int...