问题描述
让我们说,我想有一个形象的看法在我和缩放的应用程序是否有可能加入多点触控事件侦听器的手机,都支持多点触摸(API 7+),而在旧的手机显示的变焦按钮?
let's say I'd like to have an image view in my app with zoomis it possible to add multitouch event listeners on phones that do support multi touch (API 7+), while on older phones show zoom buttons?
这个问题能在应用程序的单一版本做或做我需要多个应用程序版本和多个APK?
Can this be done in a single version of the app or do I need multiple app versions and multiple APKs?
推荐答案
您不要在这种情况下,需要多个APK。
You don't need multiple APK in this case.
您可以检查code中的多点触控的可用性:
You can check availability of the multitouch in the code:
if (Integer.parseInt(Build.VERSION.SDK) >= 7) {
PackageManager pm = context.getPackageManager();
boolean hasMultitouch =
pm.hasSystemFeature(PackageManager.FEATURE_TOUCHSCREEN_MULTITOUCH);
if (hasMultitouch) {
// set multitouch event listeners
} else {
// set zoom buttons
}
} else {
// set zoom buttons
}
您可以得到 PackageManager
从活动(服务)而无需使用上下文
: PackageManager PM = getPackageManager();
You can get PackageManager
from your activity (service) without using context
: PackageManager pm = getPackageManager();
有三种类型的多点触控,你可以检查一下。
There are three types of multitouch you can check.
- FEATURE_TOUCHSCREEN_MULTITOUCH - 基本的双指手势检测
- FEATURE_TOUCHSCREEN_MULTITOUCH_DISTINCT - 追踪两个或两个以上的手指完全独立
- FEATURE_TOUCHSCREEN_MULTITOUCH_JAZZHAND - 跟踪手指的满手完全独立的 - 也就是,5个或更多同时独立的指针
- FEATURE_TOUCHSCREEN_MULTITOUCH - basic two-finger gesture detection.
- FEATURE_TOUCHSCREEN_MULTITOUCH_DISTINCT - tracking two or more fingers fully independently.
- FEATURE_TOUCHSCREEN_MULTITOUCH_JAZZHAND - tracking a full hand of fingers fully independently - that is, 5 or more simultaneous independent pointers.
UPD:您必须检查之前,多点触控可用性检查API版本。 FEATURE_TOUCHSCREEN_MULTITOUCH
只能从API 7.我已经更新了code样本。
Upd: you must check API version before multitouch availability check. FEATURE_TOUCHSCREEN_MULTITOUCH
available only from API 7. I've updated the code sample.
这篇关于在支持的设备Android多点触控的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!