【发布时间】:2025-11-26 20:00:02
【问题描述】:
如果 S-pen 悬停在屏幕的特定部分,我需要闪烁椭圆的原始单词(由于周围空间限制而缩短)。 我有找到悬停位置和找到省略号的代码。 我想要一个示例代码来传递椭圆词的精确词,以便一旦笔指向该特定位置,我就可以显示原始词。 (自从它在 JB 的 Android 中新推出以来,我没有从谷歌那里得到太多帮助..)
【问题讨论】:
如果 S-pen 悬停在屏幕的特定部分,我需要闪烁椭圆的原始单词(由于周围空间限制而缩短)。 我有找到悬停位置和找到省略号的代码。 我想要一个示例代码来传递椭圆词的精确词,以便一旦笔指向该特定位置,我就可以显示原始词。 (自从它在 JB 的 Android 中新推出以来,我没有从谷歌那里得到太多帮助..)
【问题讨论】:
【讨论】:
您应该使用PopupWindow。创建一个包含TextView 的 XML 布局,在弹出窗口中对其进行扩展(或仅通过构造函数创建)。
public class HoverPopup extends PopupWindow {
public HoverPopup(Context context, String text) {
//...
TextView textView = (TextView) View.inflate(context, R.layout.hover_popup, null);
textView.setText(text);
setContentView(textView);
}
}
S Pen 事件库初始化和悬停监听器实现
private final SPenEventLibrary mSPenEventLibrary = new SPenEventLibrary();
private final SPenHoverListener mSPenHoverListener = new SPenHoverListener() {
private HoverPopup mHoverPopup;
@Override
public boolean onHover(View view, MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_HOVER_ENTER:
mHoverPopup = new HoverPopup(mContext, "Your text");
mHoverPopup.showAsDropDown(view);
return true;
case MotionEvent.ACTION_HOVER_EXIT:
mHoverPopup.dismiss();
return true;
default:
return false;
}
}
};
不要忘记将 S Pen 悬停侦听器附加到视图
mSPenEventLibrary.setSPenHoverListener(view, mSPenHoverListener);
【讨论】: