WEB开发网      濠电姷鏁告繛鈧繛浣冲洤纾瑰┑鐘宠壘閻ょ偓銇勯幇鍫曟闁稿鍠愰妵鍕冀閵娧佲偓鎺楁⒒閸曨偄顏柡宀嬬畱铻e〒姘煎灡绗戦梻浣筋嚙濮橈箓顢氳濠€浣糕攽閻樿宸ュΔ鐘叉啞缁傚秹宕滆绾惧ジ寮堕崼娑樺缂佹宀搁弻鐔风暋閻楀牆娈楅梺璇″枓閺呯姴鐣疯ぐ鎺濇晝闁靛牆妫欓蹇旂節閻㈤潧浠﹂柛銊ョ埣楠炴劙骞橀鑲╋紱闂佽宕樼粔顔裤亹閹烘挸浜归梺缁樺灦閿曗晛螞閸曨垱鈷戦柟鑲╁仜婵″ジ鎮楀☉鎺撴珖缂侇喖顑呴鍏煎緞濡粯娅囬梻浣瑰缁诲倿寮绘繝鍥ㄦ櫇闁稿本绋撻崢鐢告煟鎼淬垻鈯曢柨姘舵煟韫囥儳绋荤紒缁樼箖缁绘繈宕橀妸褌绱濋梻浣筋嚃閸ㄤ即宕弶鎴犳殾闁绘梻鈷堥弫鍌炴煕閳锯偓閺呮瑧妲愬Ο琛℃斀闁绘劕妯婇崵鐔封攽椤旇棄鍔ら摶鐐烘煕閺囥劌澧柛娆忕箻閺屽秹宕崟顒€娅g紓浣插亾濠㈣泛顑囩粻楣冩煙鐎涙ḿ绠橀柨娑樼У椤ㄣ儵鎮欓鍕紙闂佽鍠栫紞濠傜暦閹偊妲诲┑鈩冨絻椤兘寮诲☉銏犖╅柕澶堝労閸斿绱撴担绋库偓鍝ョ矓瑜版帒鏋侀柟鍓х帛閺呮悂鏌ㄩ悤鍌涘 ---闂傚倸鍊烽悞锔锯偓绗涘厾娲煛閸涱厾顔嗛梺璺ㄥ櫐閹凤拷
开发学院手机开发Android 开发 Android通过手势实现的缩放处理 阅读

Android通过手势实现的缩放处理

 2010-07-01 15:25:00 来源:WEB开发网 闂傚倸鍊风欢姘缚瑜嶈灋闁圭虎鍠栫粻顖炴煥閻曞倹瀚�闂傚倸鍊风粈渚€骞夐敓鐘插瀭闁汇垹鐏氬畷鏌ユ煙閹殿喖顣奸柛搴$У閵囧嫰骞掗幋婵冨亾閻㈢ǹ纾婚柟鐐灱濡插牊绻涢崱妤冃℃繛宀婁簽缁辨捇宕掑鎵佹瀸闂佺懓鍤栭幏锟�濠电姷鏁告慨顓㈠箯閸愵喖宸濇い鎾寸箘閹规洟姊绘笟鈧ḿ褍煤閵堝悿娲Ω閳轰胶鍔﹀銈嗗笂閼冲爼鍩婇弴銏$厪闁搞儮鏅涙禒褏绱掓潏鈺佷槐闁轰焦鎹囬弫鎾绘晸閿燂拷闂傚倸鍊风欢姘缚瑜嶈灋闁圭虎鍠栫粻顖炴煥閻曞倹瀚�  闂傚倸鍊烽懗鑸电仚缂備胶绮〃鍛村煝瀹ュ鍗抽柕蹇曞У閻庮剟姊虹紒妯哄闁圭⒈鍋嗛惀顏囶樄闁哄本娲樼换婵婄疀閺囩姷鐛ラ梻浣哄帶婢瑰﹥绂嶅⿰鍫氣偓鏃堝礃椤忎礁浜鹃柨婵嗛婢ь喖霉閻樻瑥瀚粻楣冩煕椤愩倕鏋庨柣蹇嬪劜閵囧嫰寮村Ο鍝勫Е濡炪們鍨洪悷鈺呭箖閳╁啯鍎熼柕鍥у簻閹凤拷
核心提示:原文链接:http://www.javaeye.com/topic/516876原文《我认为HTC HERO-ROM支持所谓的多点触摸是个谎言》我觉得太具有攻击性,和我平时的风格不大相符,Android通过手势实现的缩放处理,故撤换之,看见网上很多人评论HTC的HERO是支持多点触摸的,下边是根据我前边描述的思路编写的

原文链接:http://www.javaeye.com/topic/516876

原文《我认为HTC HERO-ROM支持所谓的多点触摸是个谎言》我觉得太具有攻击性,和我平时的风格不大相符,故撤换之。

看见网上很多人评论HTC的HERO是支持多点触摸的,我也心痒痒了很久。要知道,如果能找到绕过Google实现多点触摸的真理,那将会引起Android软件设计上的一场革命...

网络上传言HTC的HERO-ROM支持多点触摸的论证大多源于浏览网页和图片时,能像IPhone一样通过手势来控制页面的大小。但是我认为,就算不通过尚未公布的多点触摸(很怀疑HTC目前的电容屏是否只支持两点触摸而已,并不是多点。之前有看过一篇文章介绍电容屏的区别,如果我以后能找到一定贴上来,当然这是题外话了),我们一样能够利用现有的API实现HERO浏览图片和网页的缩放功能。

主要原理是onTouchEvent事件中的参数MotionEvent,它有一个getSize()方法。在一个点的时候,该方法永远返回0, 而在两个触电的时候,该方法则根据两点相对位置变化而返回不同的值。我们只需计算出两点之间的距离变化,距离的大小表明我们希望目标变化的趋势。而 getX()和getY()方法则永远座落在两触点之间,这样趋势和目标我们都有了。剩下的就是对目标根据趋势进行放大或缩小即可。

下边是根据我前边描述的思路编写的代码:让一个蓝色的圆根据手势放大或者缩小。流感中,代码就不指望太清晰了。

Java代码

/**

* ...

*

* @author vlinux

*

*/

public class MultiTouchTestActivity extends Activity {

/** Called when the activity is first created. */

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

// setContentView(R.layout.main);

View view = new MultiTouchView(this);

setContentView(view);

}

class MultiTouchView extends View {

private float x1;

private float y1;

private float x2;

private float y2;

public MultiTouchView(Context context) {

super(context);

// TODO Auto-generated constructor stub

1 2  下一页

Tags:Android 通过 手势

编辑录入:coldstar [复制链接] [打 印]
赞助商链接