Android放大鏡實現的兩種方式

2021-07-09 17:02:01 字數 856 閱讀 6149

[html]view plain

copy

public class shaderview extends view   

@override  

public boolean ontouchevent(motionevent event)   

@override  

public void ondraw(canvas canvas)   

}  

基本原理就是使用shapedrawable構造乙個圓形的drawable,然後它的paint的shader設定為將要放大的,然後就是簡單的位置移動問題了。放大鏡的半徑和放大倍數都可以在**裡面修改,**都有注釋,應該很好理解了。

不過,乙個問題如果只有一種解決方法的話,那未免有點令人沮喪,想玩點另類的都不行。

玩程式就得玩出個性,玩出激情。哈哈,廢話太多,切回正題。

再來看看放大鏡的另外一種實現吧

[html]view plain

copy

public class pathview extends view   

@override  

public boolean ontouchevent(motionevent event)   

@override  

public void ondraw(canvas canvas)   

}  

這裡使用的是path類,將canvas剪下出一塊圓形區域,在其上繪製放大的部分。

Android放大鏡實現的兩種方式

public class shaderview extends view override public boolean ontouchevent motionevent event override public void ondraw canvas canvas 基本原理就是使用shapedra...

Android放大鏡實現的兩種方式

public class shaderview extends view override public boolean ontouchevent motionevent event override public void ondraw canvas canvas 基本原理就是使用shapedra...

Android 放大鏡的實現

本帖 package chroya.demo.magnifier import android.content.context import android.graphics.bitmap import android.graphics.bitmapfactory import android.gr...