Показывать доступность / зависание / всплывающую подсказку в представлении с длинным нажатием - PullRequest
2 голосов
/ 19 февраля 2011

Я хотел бы показать всплывающую подсказку, то есть дополнительную несущественную информацию о View, когда пользователь долго нажимает на него.

Два варианта, которые я вижу перед собой, используют OnLongClickListener для создания настраиваемой всплывающей подсказки перед выбранным видом;или злоупотребление OnCreateContextMenuListener для создания контекстного меню, которое не является.

Ни один из этих способов не кажется наилучшим, и я не уверен, сработает ли это.Я просмотрел сеть и не нашел никаких подсказок.Какие-нибудь альтернативы, или я должен быть пощечиной за попытку сделать это?Спасибо!

Ответы [ 2 ]

3 голосов
/ 17 марта 2018

В Android Oreo появился атрибут android:tooltipText, чтобы отображать простую всплывающую подсказку, когда пользователь нажимает на представление:

<Button
    // ...
    android:tooltipText="@string/share_button_tooltip"/>

Хотя это быловведенный в API 26, вы все равно можете использовать его через вспомогательный класс TooltipCompat библиотеки поддержки:

TooltipCompat.setTooltipText(shareButton, getString(R.string.share_button_tooltip))

Я предлагаю установить android:contentDescription, а затем использовать его как текст всплывающей подсказки дляубить 2 камня одной птицей:

<Button
    // ...
    android:contentDescription="@string/share_button_tooltip"/>

TooltipCompat.setTooltipText(shareButton, shareButton.getContentDescription())
0 голосов
/ 19 февраля 2011

Я хотел бы показать всплывающую подсказку, то есть дополнительную несущественную информацию о представлении, когда пользователь нажимает на него мышью.

Какие примеры этого шаблона пользовательского интерфейса в мобильном телефонеокружение, которое вы используете в качестве основы для этого решения?

Ни один из этих способов не кажется наилучшим способом

Правда?ИМХО, OnLongClickListener - вполне правильный ответ. ИМХО.

Любые альтернативы, или мне следует дать пощечину за попытку сделать это?

Ах, я люблю запах скумбрии вечером ... он пахнет победой.

(конечно, я показываю свой возраст, перефразируя Апокалипсис сейчас , но,c'est la vie ...)

Серьезно, я в общем согласен с @ user432209 по этому вопросу, если у вас нет убедительных примеров.Во-первых, долгое нажатие на помощь невозможно обнаружить.Во-вторых, это будет мешать виджетам, которые на самом деле имеют контекстные меню, например EditText.

. На экране телефона я скептически отношусь к тому, что помощь для каждого виджета будет практичной.На экране планшета я вижу, как веб-подход значка справки к одной стороне виджета - нажатие этого значка выскакивает в справке.

Опять же, если вы видели, что это с успехом использовалось где-то на мобильных устройствахМне было бы интересно узнать где.

...