編輯:關於Android編程
@Override
public boolean onTouch(View v, MotionEvent event) {
/** 通過與運算保留最後八位 MotionEvent.ACTION_MASK = 255 */
switch (event.getAction() & MotionEvent.ACTION_MASK) {
case MotionEvent.ACTION_UP: // 手指離開屏幕
MyLogger.e(TAG, ACTION_UP: + mode);
//復位圖片
PointF p1=getLeftPointF();
PointF p2=getRightPointF();
//左邊界復位
if(p1.x>0)
matrix.postTranslate(-p1.x, 0);
//右邊界復位
if(p2.xmImgPic.getHeight()) {
//上邊界復位
if (p1.y > 0) matrix.postTranslate(0, -p1.y);
//下邊界復位
if (p2.y < mImgPic.getHeight())
matrix.postTranslate(0, mImgPic.getHeight() - p2.y);
}
else{
float row=(mImgPic.getHeight()-(p2.y-p1.y))/2;
matrix.postTranslate(0, row-p1.y);
}
break;
}
return true;
}
這這個事件是只要有手指移開了屏幕,就會觸發。。不管你有幾根已經在屏幕上了。
//獲取圖片的上坐標
private PointF getLeftPointF()
{
Rect rectTemp = mImgPic.getDrawable().getBounds();
float[] values = new float[9];
matrix.getValues(values);
float leftX=values[2];
float leftY=values[5];
MyLogger.e(TAG, 左上角坐標:x + leftX+ y +leftY);
return new PointF(leftX,leftY);
}
//獲取圖片的下坐標
private PointF getRightPointF()
{
Rect rectTemp = mImgPic.getDrawable().getBounds();
float[] values = new float[9];
matrix.getValues(values);
float leftX= values[2]+rectTemp.width()*values[0];
float leftY=values[5]+rectTemp.height()*values[4];
MyLogger.e(TAG, 右下角坐標:x + leftX+ y +leftY);
return new PointF(leftX,leftY);
}
這B圖簡直是對數學不好的人的嘲諷對吧。。好吧大家表害怕。
float leftX= values[2]+rectTemp.width()*values[0];
float leftY=values[5]+rectTemp.height()*values[4];
解決國內android sdk無法更新,google不能的簡單辦法
在國內屏蔽了許多外國網站,連google 和android都屏蔽了,做程序員的就苦了!不過車到山前必有路,我們也有我們的辦法!首先要先進去google等的一系列網站,那麼
Android Doze模式分析
Doze模式是Android6.0上新出的一種模式,是一種全新的、低能耗的狀態,在後台只有部分任務允許運行,其他都被強制停止。當用戶一段時間沒有使用手機的時候,Doze模
Android 屏蔽和捕獲Home鍵的示例代碼
在Level5以上(包含)中,Activity類中的方法:public void onAttachedToWindow ()就能對Home鍵進行捕獲。具體代碼如下:Mai
android接入微信分享(朋友、朋友圈)、QQ分享(好友、空間)
1、申請注冊你的appid2、下載sdkQQ: http://wiki.open.qq.com/wiki/mobile/SDK%E4%B8%8B%E8%BD%BD微信:h