【问题标题】:Which View should I use for this? Android Studio我应该为此使用哪个视图?安卓工作室
【发布时间】:2021-10-10 21:11:41
【问题描述】:

我有这样一个问题,我正在开发一个用于学习语言的 Android 应用程序。在我的应用程序中,您可以阅读书籍,当您单击一个单词时,该单词上方会出现一个窗口。此窗口会将单词翻译成所需的语言并能够保存单词。问题是我应该用什么来实现这个窗口?

(可能是一个Dialog或者一个PopupWindow?但是如何让它出现在这个词的上面呢?)

这是另一个应用程序的屏幕截图,以明确我的意思。 screenshot

  • 我已经知道如何添加一个单词点击监听器,获取该单词并翻译它。唯一的问题是如何实现这个View

【问题讨论】:

  • 一个 PopupWindow 是合适的。对话框更多用于屏幕中心,通常是模态的。 popupwindow.showAtLocation(view, x, y) 将在相对于传入视图的位置 (x,y) 显示它。所以你只需要用单词的位置(加上你想要的任何填充)来调用它来显示一言以蔽之。

标签: android view dialog popupwindow custom-view


【解决方案1】:

使用带有工具提示的自定义视图, 这是一个很棒的库,你可以使用它:Android Simple Tooltip

示例:

View yourView = LayoutInflater.from(context).inflate(R.layout.custom_dialog, null);

new SimpleTooltip.Builder(this)
    .anchorView(yourView)
    .text("Texto do Tooltip")
    .gravity(Gravity.END)
    .animated(true)
    .transparentOverlay(false)
    .build()
    .show();

【讨论】:

    猜你喜欢
    • 2019-02-19
    • 2018-03-21
    • 1970-01-01
    • 2021-04-27
    • 2018-01-29
    • 1970-01-01
    • 2013-07-08
    • 2017-04-17
    • 2014-04-30
    相关资源
    最近更新 更多