Android實(shí)現(xiàn)圖片雙指縮放
本文實(shí)例為大家分享了Android實(shí)現(xiàn)圖片雙指縮放的具體代碼,供大家參考,具體內(nèi)容如下
展示

源碼
using Android.App;
using Android.OS;
using Android.Util;
using Android.Views;
using Android.Widget;
namespace android_by_csharp
{
[Activity(Label = "@string/app_name", Theme = "@style/AppTheme", MainLauncher = true)]
public class MainActivity : Activity
{
protected override void OnCreate(Bundle savedInstanceState)
{
base.OnCreate(savedInstanceState);
SetContentView(Resource.Layout.main);
var avatar = FindViewById<ImageView>(Resource.Id.avatar);
var distance = 0;
if (avatar != null)
avatar.Touch += (sender, args) =>
{
if (args.Event == null) return;
// 雙指按下
if ((args.Event.Action & MotionEventActions.Pointer2Down) == MotionEventActions.Pointer2Down)
distance = (int)Distance(args.Event);
// 雙指抬起
else if ((args.Event.Action & MotionEventActions.Pointer2Up) == MotionEventActions.Pointer2Up)
Toast.MakeText(this, "雙指抬起", ToastLength.Short)?.Show();
// 移動(dòng),雙指
if ((args.Event.Action & MotionEventActions.Move) == 0 || args.Event.PointerCount != 2) return;
var moveDistance = Distance(args.Event);
avatar.ScaleY = avatar.ScaleX *= moveDistance / distance;
if (moveDistance / distance < 1)
Toast.MakeText(this, "縮小", ToastLength.Short)?.Show();
else if (moveDistance / distance > 1)
Toast.MakeText(this, "放大", ToastLength.Short)?.Show();
};
}
// 計(jì)算兩個(gè)觸摸點(diǎn)之間的距離
private static float Distance(MotionEvent motionEvent)
{
var x = motionEvent.GetX(0) - motionEvent.GetX(1);
var y = motionEvent.GetY(0) - motionEvent.GetY(1);
return FloatMath.Sqrt(x * x + y * y);
}
}
}
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Android仿QQ好友詳情頁(yè)下拉頂部圖片縮放效果
- Android控件實(shí)現(xiàn)圖片縮放功能
- Android實(shí)現(xiàn)手指觸控圖片縮放功能
- Android點(diǎn)擊WebView實(shí)現(xiàn)圖片縮放及滑動(dòng)瀏覽效果
- Android 自定義imageview實(shí)現(xiàn)圖片縮放實(shí)例詳解
- Android實(shí)現(xiàn)ImageView圖片縮放和拖動(dòng)
- Android 圖片縮放實(shí)例詳解
- Android應(yīng)用中實(shí)現(xiàn)手勢(shì)控制圖片縮放的完全攻略
- android 多點(diǎn)觸摸圖片縮放的具體實(shí)現(xiàn)方法
- Android 圖片縮放與旋轉(zhuǎn)的實(shí)現(xiàn)詳解
相關(guān)文章
Android 解決嵌套Fragment無(wú)法接收onCreateOptionsMenu事件的問(wèn)題
本文主要介紹Android Fragment無(wú)法接收onCreateOptionsMenu事件的問(wèn)題,這里給出解決辦法以及詳細(xì)代碼,希望能幫助有需要的小伙伴2016-07-07
ListView滑動(dòng)隱藏顯示ToolBar的實(shí)例
下面小編就為大家分享一篇ListView滑動(dòng)隱藏顯示ToolBar的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-01-01
Android破解微信獲取聊天記錄和通訊錄信息(靜態(tài)方式)
這篇文章主要介紹了Android以靜態(tài)方式破解微信獲取聊天記錄和通訊錄信息,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-08-08
解決Android自定義view獲取attr中自定義顏色的問(wèn)題
這篇文章主要介紹了Android自定義view獲取attr中自定義顏色的問(wèn)題解決方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-12-12
android項(xiàng)目手機(jī)衛(wèi)士來(lái)電顯示號(hào)碼歸屬地
由于詐騙電話越來(lái)越猖狂,號(hào)碼歸屬地顯示越來(lái)越重要,本篇文章主要介紹了android手機(jī)衛(wèi)士來(lái)電顯示號(hào)碼歸屬地,有要的朋友可以了解一下。2016-10-10
Android實(shí)現(xiàn)三級(jí)聯(lián)動(dòng)下拉框 下拉列表spinner的實(shí)例代碼
這篇文章介紹了Android實(shí)現(xiàn)三級(jí)聯(lián)動(dòng)下拉框 下拉列表spinner的實(shí)例代碼,有需要的朋友可以參考一下2013-10-10
Android UI 實(shí)現(xiàn)老虎機(jī)詳解及實(shí)例代碼
這篇文章主要介紹了Android UI 實(shí)現(xiàn)老虎機(jī)詳解及實(shí)例代碼的相關(guān)資料,需要的朋友可以參考下2017-03-03
Android優(yōu)化提升應(yīng)用啟動(dòng)速度及Splash頁(yè)面的設(shè)計(jì)
這篇文章主要介紹了Android性能優(yōu)化的一些相關(guān)資料,文章圍繞提升應(yīng)用啟動(dòng)速度及Splash頁(yè)面的設(shè)計(jì)的內(nèi)容展開(kāi)介紹,需要的朋友可以參考一下,希望對(duì)你有所幫助2021-12-12
Android使用自定義View實(shí)現(xiàn)餅狀圖的實(shí)例代碼
這篇文章主要介紹了Android使用自定義View實(shí)現(xiàn)餅狀圖的實(shí)例代碼,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-05-05

