Android 索尼智能手表2:如何防止长时间点击按钮后调用CLICK_TYPE_SHORT?
我为Sony SmartWatch 2使用了一个ControlExtension,我有一个点击处理程序:Android 索尼智能手表2:如何防止长时间点击按钮后调用CLICK_TYPE_SHORT?,android,sony,sony-smartwatch,Android,Sony,Sony Smartwatch,我为Sony SmartWatch 2使用了一个ControlExtension,我有一个点击处理程序: @Override public void onObjectClick(final ControlObjectClickEvent event) { switch (event.getClickType()) { case Control.Intents.CLICK_TYPE_LONG: Log.i("onObjectClick", "long
@Override
public void onObjectClick(final ControlObjectClickEvent event) {
switch (event.getClickType())
{
case Control.Intents.CLICK_TYPE_LONG:
Log.i("onObjectClick", "long press");
break;
case Control.Intents.CLICK_TYPE_SHORT:
Log.i("onObjectClick", "press");
break;
}
}
当我点击按钮时,我得到了预期的日志。
当我按住按钮时,我会长按我想要的按钮。
但当我长时间按下按钮后松开时,我又被按下了。如何更改此行为?您是否尝试过像这样处理长时间单击
ControlView upperLeft = mLayout.findViewById(R.id.sample_control_object_1);
upperLeft.setOnLongClickListener(new OnLongClickListener() {
@Override
public void onLongClick() {
// handle click action here
}
});
我试过了,但函数似乎从未被调用过。setOnClickListener也是如此。在mLayout=parseLayoutlayout之后,我在ControlExtension的构造函数中注册了处理程序;并添加了一个日志项以确保调用它。您是否确保在布局中为正在单击的视图设置了android:clickable=true?是的,但我认为没有必要设置按钮。我现在通过在长按上设置一个标志来忽略下一个按事件来管理它。不管怎么说,真正的设备似乎与那里的附件模拟器完全不同,长按根本不起作用,我无法设置按钮的文本,并且文本看起来比模拟器中的文本大得多。对于文本大小,请确保您没有使用缩放使用px而不是sp,否则字体大小将根据您与SW2配对的设备而有所不同。不确定为什么长按按钮文本对您不起作用,这些应该可以正常工作。如果你不明白,请发一段代码片段,我可以帮你。使用px解决了大小问题,谢谢。对于另一个问题,如果明天之前我无法解决,我将发布一个新问题。