有没有办法在基于 Android / HTC Sense 的手机中访问复制/粘贴 api/UI?
我真的很喜欢在使用 Sense 时长按在大画布上的工作方式。有没有办法以编程方式检测代码在基于 Sense 的手机上运行并调用这些 API?
不,非常肯定不是。Android 中只有一个复制/粘贴 API,尽管皮肤之间的实现细节可能有所不同,如果您可以将其称为 API,即使您选择了正确的 UI 元素,它也是免费的。
我也不知道您所说的“在使用 Sense 时长按在大画布上的工作方式”是什么意思。当我比较复制文本和选择现有 Android 和 HTC Sense 中的文本时,它大部分是相同的(除了颜色等)。你能把你的问题说得更具体一点吗?
编辑:也许你的意思是:将我的应用程序添加到 HTC 剪切和粘贴发送到菜单
好吧,老实说,我还没有玩过android,尽管我打算很快这样做。但是我一直在使用 Microsoft Surface 表。
如果标准 android 库没有实现检测某种触摸和按住事件的功能,我建议如下:
我认为您可以自己轻松实现这样的助手。您可能想要做的是为该画布的触摸事件添加一个侦听器。在手指接触画布的那一刻,您开始运行计时器。当计时器结束时,您将触发所需的事件。但是,这还需要您实施其他一些事情。当手指移动到某个阈值之外,或者手指再次抬起时,需要停止并清理计时器,使其不再触发。
在这个场景中,您已经为自己创建了触摸并按住场景。您需要注意的是,在添加触摸操作时将其断开。
(我真的认为标准触摸库必须包含与此功能类似的东西!)
通过几次搜索我能找到的是:
@Override
public void onLongPress(MotionEvent e)
{
//Call your own custom copy paste dialog here.
}
(否则您可能会在 GestureDetector 中找到您喜欢的东西?)
复制粘贴功能使用 ClipboardManager。您只需要创建一个弹出菜单,其中包含复制和粘贴图像以及相关文本以及该 ClipboardManager 的挂钩。
我也是 Android 开发的新手,但我认为您正在寻找的是 R.id 类。这是 API 文档链接:
http://developer.android.com/reference/android/R.id.html
这看起来像它的使用方式:
menu.add(0, android.R.id.copy, menuIndex++, android.R.string.copy);
menu.add(0, android.R.id.paste, menuIndex++, android.R.string.paste);
祝你的应用好运!
山姆