新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > Android多點觸控開發原理

        Android多點觸控開發原理

        作者: 時間:2016-10-08 來源:網絡 收藏

        Android多點觸控在本質上需要LCD驅動和程序本身設計上支持,目前市面上HTC、Motorola和Samsung等知名廠商只要使用電容屏觸控原理的手機均可以支持多點觸控Multitouch技術,對于網頁縮放、手勢操作上有更好的用戶體驗。 在Android平臺上事件均使用了MotionEvent對象方式處理,比如開始觸控時會觸發ACTION_DOWN而移動操作時為ACTION_MOVE最終放開手指時觸發ACTION_UP事件。當然還有用戶無規則的操作可能觸發ACTION_CANCEL這個動作。

        本文引用地址:http://www.104case.com/article/201610/305870.htm

        首先Android開發網提醒大家多點觸控需要LCD驅動和應用軟件兩個支持才能實現,所以部分比較老的,比如Android 2.1以前或在北美上市的手機可能無法支持多點觸控在固件上,由于Apple專利原因在歐洲和亞太地區的Android 2.1以后的新款機型固件均已經在屏幕驅動中支持,同時模擬器也無法實現多點觸控的測試。

        下面Android123一起用Android 2.0或以上SDK中的方法來實現如何通過應用層支持多點觸控操作,對于常規的控件觸控操作在內部為View的setOnTouchListener()接口實現的onTouchEvent()方法來處理。對于onTouchEvent方法的參數MotionEvent我們可以詳細處理來實現對多點觸控的了解,比如

        event.getAction() //獲取觸控動作比如ACTION_DOWN

        event.getPointerCount(); //獲取觸控點的數量,比如2則可能是兩個手指同時按壓屏幕

        event.getPointerId(nID); //對于每個觸控的點的細節,我們可以通過一個循環執行getPointerId方法獲取索引

        event.getX(nID); //獲取第nID個觸控點的x位置

        event.getY(nID); //獲取第nID個點觸控的y位置

        event.getPressure(nID); //LCD可以感應出用戶的手指壓力,當然具體的級別由驅動和物理硬件決定的

        event.getDownTime() //按下開始時間

        event.getEventTime() // 事件結束時間

        event.getEventTime()-event.getDownTime()); //總共按下時花費時間

        有關Android多點觸控的更詳細技術由于目前兼容性和固件問題android123將會在以后的內容中詳細討論,這里給大家起到拋磚引玉的作用。



        關鍵詞:

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 博湖县| 乌拉特中旗| 溧阳市| 彰武县| 鸡泽县| 太康县| 桃源县| 新河县| 垣曲县| 搜索| 德州市| 义马市| 莒南县| 余姚市| 海兴县| 循化| 靖江市| 吴江市| 东城区| 尖扎县| 洪湖市| 宜阳县| 巴林右旗| 且末县| 濮阳县| 邢台县| 洪湖市| 辽阳市| 临武县| 鄂托克前旗| 年辖:市辖区| 渝北区| 陇西县| 五大连池市| 吉木乃县| 神池县| 德惠市| 乌兰浩特市| 尖扎县| 绥德县| 察雅县|