【问题标题】:Hovering over elliptic word to show original word in JB将鼠标悬停在椭圆词上以显示 JB 中的原始词
【发布时间】:2025-11-26 20:00:02
【问题描述】:

如果 S-pen 悬停在屏幕的特定部分,我需要闪烁椭圆的原始单词(由于周围空间限制而缩短)。 我有找到悬停位置和找到省略号的代码。 我想要一个示例代码来传递椭圆词的精确词,以便一旦笔指向该特定位置,我就可以显示原始词。 (自从它在 JB 的 Android 中新推出以来,我没有从谷歌那里得到太多帮助..)

【问题讨论】:

    标签: android hover ellipsis


    【解决方案1】:

    【讨论】:

    • 下次考虑使用“编辑”发布选项。您链接到的示例不包含有助于解决您的问题的信息。
    【解决方案2】:

    您应该使用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);
    

    【讨论】:

      最近更新 更多