欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

GestureDetector、手勢、左右滑動控制圖片大小-創(chuàng)新互聯(lián)

GestureDetector手勢,這個應(yīng)用很廣泛,也可以衍生初很多知識點,我從基礎(chǔ)開始寫起,原來一直想學(xué)一些高含量的技術(shù),后來發(fā)現(xiàn)很多基礎(chǔ)知識點都沒完全理解,每當(dāng)遇到不明白的小知識點的時候還要上網(wǎng)查,用過一次兩次還記不住,好高騖遠(yuǎn),踏踏實實把每個知識點的所有角角落落的零碎知識整理一下,基礎(chǔ)扎實才會飛的更高;

創(chuàng)新互聯(lián)一直在為企業(yè)提供服務(wù),多年的磨煉,使我們在創(chuàng)意設(shè)計,網(wǎng)絡(luò)營銷推廣到技術(shù)研發(fā)擁有了開發(fā)經(jīng)驗。我們擅長傾聽企業(yè)需求,挖掘用戶對產(chǎn)品需求服務(wù)價值,為企業(yè)制作有用的創(chuàng)意設(shè)計體驗。核心團(tuán)隊擁有超過十余年以上行業(yè)經(jīng)驗,涵蓋創(chuàng)意,策化,開發(fā)等專業(yè)領(lǐng)域,公司涉及領(lǐng)域有基礎(chǔ)互聯(lián)網(wǎng)服務(wù)珉田數(shù)據(jù)中心重慶APP開發(fā)公司、手機(jī)移動建站、網(wǎng)頁設(shè)計、網(wǎng)絡(luò)整合營銷。

    下面把GestureDetector的生命周期代碼運(yùn)行一邊,看具體代碼:

public class MainActivity extends Activity implements OnGestureListener {

private GestureDetector gesture ;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

gesture = new GestureDetector(this) ;

}

@Override

public boolean onTouchEvent(MotionEvent event) {

return gesture.onTouchEvent(event) ;

}

@Override

public boolean onDown(MotionEvent arg0) {

System.out.println("******===>onDowm");

return false;

}

@Override

public boolean onFling(MotionEvent event1, MotionEvent event2, float x,

float y) {

System.out.println("******===>onFling");

return false;

}

@Override

public void onLongPress(MotionEvent arg0) {

System.out.println("******===>onLongPress");

}

@Override

public boolean onScroll(MotionEvent arg0, MotionEvent arg1, float arg2,

float arg3) {

System.out.println("******===>onScroll");

return false;

}

@Override

public void onShowPress(MotionEvent arg0) {

System.out.println("******===>onShowPress");

}

@Override

public boolean onSingleTapUp(MotionEvent arg0) {

System.out.println("******===>onSingleTapUp");

return false;

}

}

    運(yùn)行之后經(jīng)過測試可以發(fā)現(xiàn):當(dāng)用戶按下的時候會首先執(zhí)行onDown方法,onSingleTapUp是點擊一下之后馬上抬起按鈕所觸動的方法,onShowPress是點擊之后所執(zhí)行的方法(點擊之后手機(jī)不挪動);onLongPress是點擊之后過段時間所執(zhí)行的方法,是在手指不拖動的前提之下,如果手指不挪動,執(zhí)行順序是:onDown--》onShowPrsss--》onLongPress。onScorll是手指滾動的時候所觸發(fā)的方法,onFling是拖過多觸發(fā)的方法,其中的參數(shù)就是拖過的x個y的值得變化,手機(jī)點擊屏幕之后從屏幕的開始拖出屏幕所觸發(fā)的方法順序是:onDown--》onScorll--》onFling

    下面寫一個關(guān)于手勢左右滑動動態(tài)控制圖片大小的demo,直接上代碼,有詳細(xì)注釋

public class MainActivity extends Activity implements OnGestureListener {

private GestureDetector gesture;

private ImageView p_w_picpath;

private int width, height;// 寬和高

private Bitmap bitmap;// 初始化圖片資源

private Matrix matrix;

private float currentScale = 1;//記錄縮放比例

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

p_w_picpath = (ImageView) findViewById(R.id.p_w_picpath);

gesture = new GestureDetector(this);

matrix = new Matrix();

bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.one);

width = bitmap.getWidth() ;

height = bitmap.getHeight() ;

// p_w_picpath.setImageBitmap(bitmap);

p_w_picpath.setImageBitmap(BitmapFactory.decodeResource(getResources(), R.drawable.one));

}

@Override

public boolean onTouchEvent(MotionEvent event) {

// 把觸摸時間交給GestureDetector

return gesture.onTouchEvent(event);

}

@Override

public boolean onDown(MotionEvent arg0) {

return false;

}

@Override

public boolean onFling(MotionEvent event1, MotionEvent event2, float x,

float y) {

//判斷橫向的挪動速度

x = x > 4000 ? 4000 : x;

x = x < -4000 ? -4000 : x;

currentScale += currentScale * x / 4000.0f;

// 保證currentScale不會等于0

currentScale = currentScale > 0.01 ? currentScale : 0.01f;

matrix.reset(); //重置matrix

//縮放matrix

matrix.setScale(currentScale, currentScale, 160, 200);

BitmapDrawable tmp = (BitmapDrawable) p_w_picpath.getDrawable() ;

//如果還沒回收則強(qiáng)制回收

if(!tmp.getBitmap().isRecycled()){

tmp.getBitmap().recycle() ;

}

//根據(jù)原始位圖和matrix進(jìn)行創(chuàng)建新圖片

Bitmap bitmap2 = Bitmap.createBitmap(bitmap, 0, 0, width, height, matrix, true) ;

p_w_picpath.setImageBitmap(bitmap2);

return true ;

}

@Override

public void onLongPress(MotionEvent arg0) {

}

@Override

public boolean onScroll(MotionEvent arg0, MotionEvent arg1, float arg2,

float arg3) {

return false;

}

@Override

public void onShowPress(MotionEvent arg0) {

}

@Override

public boolean onSingleTapUp(MotionEvent arg0) {

return false;

}

}

xml:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"

  xmlns:tools="http://schemas.android.com/tools"

  android:layout_width="match_parent"

  android:layout_height="match_parent" >

  <ImageView

    android:id="@+id/p_w_picpath"

    android:layout_width="wrap_content"

    android:layout_height="wrap_content"

    android:layout_centerInParent="true" />

</RelativeLayout>

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

名稱欄目:GestureDetector、手勢、左右滑動控制圖片大小-創(chuàng)新互聯(lián)
分享URL:http://aaarwkj.com/article4/dpgeie.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信小程序、定制開發(fā)、網(wǎng)站排名網(wǎng)站維護(hù)、網(wǎng)站建設(shè)、手機(jī)網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)
久久久久久精品国产免费| 92国产精品午夜福利| 久久亚洲天堂色图不卡| 亚洲欧美精品专区久久| 精品国产品国语在线不卡| 日韩av一区二区久久久| 日产中文乱码字幕无线观看| 欧美日韩一区二区三区福利| 中文字幕日韩欧美一区在线| 顶级少妇做爰片高潮丸| 亚洲av十八禁在线播放| 黄色一级日本黄色一级| 98精品熟女亚洲av| 亚洲成色在线综合剧情网站| 中文字幕乱码十国产乱码| 特黄日韩免费一区二区三区| 精品人妻区二区三区蜜桃| 亚洲欧美精品成人一区| 久久夜色噜噜噜av一区| 可以直接看内射的视频| 少妇二区三区精品视频| 国产亚洲欧美精品久久久久| 国产女主播在线观看视频| 国产高清视频在线观看流白浆| 精品国产91乱码一区二区三区| 欧美老熟妇一区三区精品| 中文字幕精品一区二区介绍| 国产毛片精品一区内射| 午夜男女激情在线观看| 色综合av男人的天堂| 日本高清中文精品在线不卡| 免费看av网站一区二区| 亚洲在线免费播放视频| 国产丝袜肉丝在线播放| 亚洲综合中文字幕久久网址| 亚洲成人有码在线观看| 国产免费不卡午夜福利在线| 免费观看中国性生活片| 亚洲国产欧美日韩国产| 激情自拍偷拍合集一部| 天堂av一区二区三区 |