Как добавить подсказки к представлениям?

#android #xml #android-layout #view

#Android #xml #android-макет #Вид

Вопрос:

Я хочу, чтобы, когда пользователь обращается к действию или к новому экрану, на котором есть, например, ViewPager или ImageView или любое другое представление, hint или Tips появляется «информативный текст», сообщающий пользователю, что можно сделать с этим представлением.

Например, если это интерактивно ImageView , появляется текст, сообщающий пользователю, что если он долго нажимал на это представление, произойдет действие, или если он провел пальцем вверх, появится меню.

просто информативный текст о функциональности, назначенной представлению

возможно ли что-то подобное? как?

Комментарии:

1. Где вы хотите получить подсказку? т. Е. Будет достаточно тоста или вы можете реализовать для этого пользовательскую анимацию.

2. Пожалуйста, полностью и точно объясните, как должна выглядеть и работать эта «подсказка». Тогда, и только тогда, кто-нибудь может сказать вам, является ли эта «подсказка» «достижимой».

3. @CommonsWare пожалуйста, ознакомьтесь с обновленным вопросом

4. Вы можете использовать диалоговое окно.

Ответ №1:

Есть много способов добиться этого

  1. Тост был бы самым простым.
  2. Диалоговое окно предупреждения.
  3. Вы можете создать пользовательскую анимацию для расширенного пользовательского интерфейса.

Ответ №2:

Для просмотра изображений вы можете использовать HintedImageButton. Код Java здесь: ссылка

Ответ №3:

СПОСОБ 1

Для этого я создал библиотеку Android. Вы можете использовать его прямо отсюда.

demo1
demo2

Чтобы использовать его, вам просто нужно предоставить contentDescription, так просто, как это:

 <hendrawd.library.customview.HintedImageButton
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:src="@drawable/ic_xxx"
    android:contentDescription="Put your hint here!"
    android:background="@drawable/optional_selector"
    />
 

Если вы не хотите использовать ImageButton фон, вы можете изменить фон напрямую или сделать так, @null чтобы удалить фон.

Подсказка будет отображаться не только при длительном нажатии, но и при наведении курсора мыши, если вы подключите внешнюю мышь к своему устройству Android.


СПОСОБ 2

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

 <View
    android:id="@ id/yourView"
    android:tooltipText="@string/view_tooltip"/>
 

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

 TooltipCompat.setTooltipText(yourView, getString(R.string.view_tooltip))