Не работают подсказки android studio

Содержание
  1. Подсказка настраиваемых атрибутов не всплывает в Android Studio IntelliJ
  2. 2 ответа
  3. как отобразить всплывающую подсказку в android?
  4. 8 ответов
  5. Советы для Android Studio
  6. Делимся исходниками
  7. Android LogCat
  8. Настройки на экране приветствия (Welcome Screen)
  9. Генерация getXXX/setXXX-методов класса
  10. Кодировка
  11. Подключение внешних программ
  12. Переходим на тёмную сторону
  13. Буфер обмена с историей
  14. Указать расположение папки с JDK и Android SDK
  15. Вспомнить параметры метода
  16. Разбиваем редактор кода на две части
  17. Tip of the Day
  18. Сгенерировать Javadoc
  19. Показать справку под указателем мыши
  20. Включить нумерацию строк кода
  21. Разделители между методами
  22. Пометить изменённые файлы звёздочкой
  23. Добавить однозначные import на лету
  24. Окружить строчку кода
  25. Быстрое создание копии строки кода
  26. Быстрое удаление строки
  27. Быстрый переход к определению
  28. Быстрый набор метода, класса, переменной
  29. Переход к следующему/предыдущему методу
  30. Живые шаблоны

Подсказка настраиваемых атрибутов не всплывает в Android Studio IntelliJ

Целый день борюсь с этой проблемой. Я ищу того, кто мне поможет, или того, кто сможет протестировать его на своей установке Android Studio.

Я опубликовал на github виджет: Селектор вращающейся ручки, но так как я начал его разрабатывать, мне пришлось бороться с Android Studio, которая не показывала мне настраиваемые атрибуты, определенные как стилизованные, как вы можете видеть из этого захвата:

Проблема заключается только во всплывающих предложениях Android Studio, потому что, с другой стороны, любой настраиваемый атрибут проверяется правильно и ошибка «Не найден идентификатор ресурса» не выдается. Все нормально работает.

В качестве фрагмента кода, который вы можете полностью просмотреть на github:

Я везде искал и думаю, что это баг, но много чего перепробовал:

  • Недействительные кэши / перезапуск
  • Удалите все файлы .iml и каталоги .idea
  • Скопируйте только соответствующий текстовый файл java и xml и воссоздайте весь проект
  • Просмотр настроек и конфигов везде

Теперь похоже, что экспортированная библиотека на github вызывает ту же самую действительно досадную проблему. Есть ли кто-нибудь, кто знает решение? Я также был бы признателен за тест пользователем с чистой установкой Android Studio с этой библиотекой, чтобы понять, по крайней мере, проблема Android Studio или проблема проекта.

2 ответа

После нескольких дней тряски я нашел решение. Я надеюсь, что это поможет таким людям, как я, немного меньше биться головой.

Моя проблема заключалась в том, что название представления

не соответствует точно названию атрибутов

declare-styleable name = «KnobSelector»

Хотя все работало, потому что внутри кода, который я имел в виду KnobSelector, IntelliJ Android Studio на самом деле не знала об этом и не всплывала с доступными настраиваемыми атрибутами, как хотелось.

Обратите внимание, что не было абсолютно никаких ошибок компиляции или выполнения , не появлялись только подсказки с возможными настраиваемыми атрибутами. Это наводит на мысль, что, вероятно, во время выполнения все настраиваемые атрибуты помещаются в один и тот же большой пакет на основе объявления app: , в то время как во время редактирования дополнительный фильтр скрывает неверные атрибуты на основе объявления и вид / имя атрибутов.

Решение было простым. Произведен рефакторинг (shift-F6) таким образом

И перекомпилировал (ctrl-F9). Это исправило это через несколько дней.

Вам нужно определить атрибуты. Всплывающее окно не загружает настраиваемые атрибуты, но вы все равно можете добавить их вручную, и проект будет правильно скомпилирован. Определенно это проблема студии.

Протестировано на Android Studio 2.3 Canary 2.

Источник

как отобразить всплывающую подсказку в android?

Я хочу отобразить всплывающую подсказку (представление QuickAction), когда я перемещаю курсор на представление. Кто — нибудь может привести мне простой пример? всплывающая подсказка будет содержать только текстовое значение.

8 ответов

Android поддерживает «Tool-tip» только для кнопок ActionBar с Android 4.0. Но, как уже упоминал Jaguar, подсказки в Android не имеют большого смысла, так как нет концепции зависания.

из Android 4.0 обычный текст заголовка (который вы установили в xml-файле или с помощью кода) появится, если вы сделаете длинный щелчок по кнопке. Но если на экране достаточно места, он будет виден в ActionBar все время рядом со значком.

Если вы хотите иметь это для пользовательского представления, вам нужно реализовать его самостоятельно, добавив LongClickListener на ваш взгляд и показать Toast продолжительное нажатие:

конечно, вы должны использовать ресурс для строки, а не жестко закодированные строки.

возможно, используя myView.setTooltipText(CharSequence) (от уровня API 26) или TooltipCompat (до уровня API 26) является дополнительной опцией:

вспомогательный класс, используемый для эмуляции поведения <@link View#setTooltipText (CharSequence)>до уровня API 26.

редакция 26.0.1 библиотеки поддержки добавлена поддержка подсказки (небольшие всплывающие окна с описательным текстом) для представлений и пунктов меню.

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

  • при длительном щелчке, если он не обрабатывается иначе (с помощью OnLongClickListener или контекстного меню).
  • при наведении, после короткая задержка с момента остановки указателя
  1. открыть сборки.gradle файл для вашего приложения.
  2. убедитесь, что раздел репозитории включает раздел maven с «https://maven.google.com» конечная точка.

добавить библиотеку поддержки раздел зависимости.

начиная с Android API 14+, есть событие для висения. Вы можете сделать,

и слушать MotionEvent s, таких как ACTION_HOVER_ENTER и ACTION_HOVER_EXIT , вместо onLongClick .

Android не имеет подсказок. Это сенсорный интерфейс. Текущие сенсорные датчики обычно не могут обнаружить зависание таким образом, чтобы были полезны подсказки.

нет понятия «зависания» на сенсорном экране, но вы можете установить LongClickListener для Вашего взгляда, и имейте тост появиться после долгого нажатия.

Если вам нужно показать подсказку для любого вида, вы можете использовать CheatSheet util класс от Романа Нурика. (Использует Toast и дополнительно content description для отображения всплывающей подсказки.)

Android helper class для показа шпаргалок (всплывающих подсказок) только для значков Элементы пользовательского интерфейса при длительном нажатии. Это уже поведение платформы по умолчанию для icon-только элементы панели действий и вкладки. Этот класс предоставляет следующее поведение для любого другого такого элемента UI

на основе GregoryK это, Я создал новый класс ImageButton-см. код ниже. Чтобы использовать его, все, что вам нужно сделать, это заменить ImageButton в ваших макетах с com.yourpackage.ImageButtonWithToolTip С android:contentDescription атрибут (так как это текст, который будет показан в подсказке).

вы можете использовать тот же подход для расширения и другие мнения — например, Button .

Источник

Советы для Android Studio

Делимся исходниками

Если нужно поделиться исходником класса, метода и просто блока кода, то выделяем нужный кусок кода или щёлкаем в свободном месте в редакторе кода правой кнопкой мыши и выбираем пункт Create Gist. . В диалоговом окне выбираем нужные значения. Если у вас нет учётной записи на Гитхабе, то выбирайте анонимный вариант.

Код класса или кусок кода будет размещён на сайте. Вы можете дать ссылку на код нужным людям.

Android LogCat

В студии можно задать цвет для каждого типа сообщений, выводимых в LogCat. Заходим в File | Settings. | Editor | Colors & Fonts | Android LogCat.

Чтобы не сбивать встроенные настройки, сначала нажимаем кнопку Save as. и сохраняемся под другим именем, например, Cat. Далее снимаем флажок Use inherited attributes, чтобы появилась возможность редактирования свойств.

Дальнейшие шаги уже понятны. Выбираем тип сообщения, например, Info и выбираем цвет Foreground щелчком по цветному прямоугольнику.

Цветные сообщения удобнее просматривать, чем однотонные.

Настройки на экране приветствия (Welcome Screen)

На экране приветствия появилась возможность кастомизации некоторых настроек. Первая настройка касается упорядочения проектов. Если их слишком много и вы хотите часть из них сгруппировать, то такая возможность появилась в Android Studio 2.0. Допустим, вы хотите объединить проекты, связанные с котами в отдельную группу Cats. Щёлкаем правой кнопкой мыши на проектах и выбираем пункт New Project Group.

В следующем окне выбираем название.

У вас появится новая группа. Теперь достаточно выбрать нужные вам проекты и через контекстное меню выбрать пункт Move To Group, далее выбираем нужную группу.

Теперь у нас порядок, проекты с котиками хранятся в одном месте.

Следующая кастомизациия касается значка проекта. По умолчанию, на экране приветствия вы не видите никаких значков у проектов. Снова вызываем контекстное меню и выбираем пункт Change Icon.

В следующем окне вы увидите стандартные значки студии для проекта. Нажимаем на ссылку Change. и выбираем свой значок для проекта. Можно выбрать значки для стандартной и тёмной темы студии.

Теперь вам будет проще найти свой проект по значку.

Генерация getXXX/setXXX-методов класса

Студия умеет самостоятельно генерировать так называемые геттеры и сеттеры класса на основе полей класса. Если вы используете правильный стиль кодирования, то сначала требуется небольшая доработка настроек для распознавания префикса m (member) в названии переменных. Откройте окно настроек Android Studio File | Settings. и выберите раздел Editor | Code Style | Java. Перейдите на вкладку Code Generation. В таблице Naming найдите строку Field и в поле Naming Prefix введите префикс m для полей. Затем добавьте префикс s для статических полей в строке Static field.

Подобная настройка научит студию генерировать методы для поля, опуская префикс. Например, для поля mCatName будет создан метод setCatName() вместо setMCatName().

Теперь в файле класса с полями щёлкните правой кнопкой мыши после конструктора и выберите команду Generate…| Getter And Setter, выберите поля класса и щёлкните на кнопке OK, чтобы сгенерировать get- и set-метод для каждой переменной.

Кодировка

В Android используется кодировка UTF-8. Студия по умолчанию использует системную кодировку и у многих это win-1251. Этом может вызвать проблемы при выводе строковых сообщений. В правом нижнем углу можно быстро поменять кодировку для файла проекта.

Для глобального изменения настроек для будущих проектов идём File | Settings | Editor | File Encodings и меняем IDE Encoding и Project Encoding.

Подключение внешних программ

Идём в File | Setting. и выбираем Editor | Tools | External Tools. Нажимаем на значок с плюсом и добавляем путь к исполняемой программе или сценарию bat, cmd и т.п.

Переходим на тёмную сторону

Студия поставляется с тремя предустановленными темами: IntelliJ, Darcula, Windows. По умолчанию, используется тема IntelliJ с светлым фоном. Тема Windows тоже используется светлый фон.

Особый интерес представляет тема с чёрным фоном Darcula. Для тех, кто слишком быстро читает, читаю название темы по слогам: Дар-ку-ла, а не Дракула. Здесь обыгрывается игра слов «dark».

Чтоб переключиться в тёмную тему, открываем окно настроек File | Setting (Ctrl+Alt+S), в диалоговом окне раскрываем категории Appearance & Behavior | Appearance и меняем тему в выпадающем списке Theme.

Вы также можете скачать другие темы по адресу ideacolorthemes.org.

Также мы можете доработать под себя предустановленную тему. Для этого откройте в тех же Настройках раздел Editor | Colors & Fonts, внесите требуемые изменения и сохраните свою тему под нужным именем через кнопку Save As. .

Буфер обмена с историей

В студии есть свой продвинутый буфер обмена. Скопируйте несколько раз разные участки кода. Перед вставкой нажмите комбинацию Ctrl+Shift+V. Появится диалоговое окно с историей скопированных строк. Выберите нужный вариант и нажмите OK.

Настройки буфера обмена можно найти в File | Settings. | Editor | General в блоке Limits. По умолчанию у настройки Maximum Number of Contents to Keep in Clipboard используется значение 5.

Указать расположение папки с JDK и Android SDK

Если вы используете Eclipse и студию, то возможно вы уже раньше устанавливали JDK и SDK до студии. Нет необходимости скачивать и устанавливать их по новой. Зайдите в меню File | Project Structure и в пункте SDK Location укажите расположение папок.

Вспомнить параметры метода

Забыли параметры метода? Не беда, поместите курсор в скобки и нажмите комбинацию клавиш Ctrl+P. Подсказка поможет вам сообразить.

Разбиваем редактор кода на две части

По умолчанию редактор кода открывает один активный документ. Если вы хотите видеть сразу два документа (или даже один документ в двух отдельных вкладках), то щёлкните правой кнопкой мыши на вкладке документа и выберите из контекстного меню вариант Split Vertically или Split Horizontally.

Tip of the Day

Если вы уберёте флажок с пункта «Show Tips on Startup», то всегда можете вернуть всё назад, вызвав это окно через меню Help | Tip of the Day.

Сгенерировать Javadoc

В Eclipse в меню был пункт создания Javadoc. В студии нет комбинации клавиш для этой операции. Можно сгенерировать код автодополнением. Набираете команду /** и нажимаете Enter. Будет сгенерирован комментарий Javadoc.

Чтобы получить документацию на основе созданных комментариев, выбираем меню Tools | Generate JavaDoc. . В диалоговом окне выбираем нужные настройки и получаем на выходе набор html-файлов и других сопутствующих документов.

Показать справку под указателем мыши

По умолчанию всплывающая подсказка не появляется при подведении указателя мыши к имени класса, метода и т.д. Я сначала расстроился, но кот сказал, что горю можно помочь. Нужно открыть меню File | Settings | Editor | General и поставить флажок у пункта Show quick doc on mouse move. И откуда кот это узнал?

Включить нумерацию строк кода

По умолчанию нумерация строк отключена. Чтобы включить нумерацию, идём в File | Settings | и выбираем Editor | General | Appearance и ставим флажок у пункта Show line numbers. Впрочем, включить её можно прямо из редактора кода. Щелкните правой кнопкой мыши на серой области слева от кода и в контекстом меню выберите пункт Show Line Numbers.

Разделители между методами

Изучая настройки IDE, наткнулся на удобную опцию включения разделительной черты между методами. Очень удобно для меня, сразу видно, где заканчивается один метод и начинается другой. Очень не хватало такой функциональности, теперь код как на ладони.

Идём в File | Settings | Editor | General | Appearance и ставим флажок у пункта Show method separators.

Пометить изменённые файлы звёздочкой

Я привык, что в редакторе изменённые, но не сохранённые файлы на вкладках помечаются звёздочкой. Так работает в Eclipse, Notepad++ и многих других редакторах. А в Студии почему-то по умолчанию настройка отключена.

Идём в File | Settings | Editor | General | Editor Tabs и ставим флажок у пункта Mark modified tabs with asterisk.

Добавить однозначные import на лету

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

Идём в File | Settings | Editor | General | Auto Import и ставим флажок у пункта Add unambiguous imports on the fly.

Окружить строчку кода

Нередко бывают ситуации, когда строчку кода надо поместить в условие, цикл и т.п. (if, if/else, while, for, try/catch). Можно немного автоматизировать эту операцию, если установить курсор на нужной строке или выделить фрагмент кода и нажать комбинацию клавиш Ctrl+Alt+T или через меню Code | Surround With.

Быстрое создание копии строки кода

Нажмите комбинацию Ctrl+D (дублирование), чтобы быстро создать копию строки кода под указателем мыши.

Быстрое удаление строки

Чтобы удалить строку, её нужно выделить и нажать кнопку Delete, а можно сразу нажать комбинацию Ctrl+Y (Win) или cmd+backspace(mac).

Быстрый переход к определению

Нажмите клавишу Ctrl и левую кнопку мыши, когда курсор находится на имени класса, метода, поля класса или имени переменной — вы автоматически перенесётесь в место, где находятся их определения. Также можно использовать горячие клавише Ctrl+B.

Быстрый набор метода, класса, переменной

Для быстрого набора переменной можно использовать первую и заглавные буквы в имени метода, класса, переменной. Например, можно набрать sst вместо setStatusText(). Это удобно, когда есть много похожих названий. Такой способ набора позволяет быстрее выбрать нужное имя.

Переход к следующему/предыдущему методу

Используйте горячие клавиши Alt+↓ для перехода к следующему методу, и Alt+↑ для перехода к предыдущему методу.

Живые шаблоны

«Живые шаблоны» — специальное сочетание символов, которые могут преобразоваться в блок кода. Если вы не помните сокращение, то нажмите Ctrl+J (команда Code | Insert Live Template), чтобы увидеть список сокращений.

Если вы помните, то всё намного проще. Например, набираем ifn и нажимаем клавишу пробела. Данные символы преобразуются в код

Живые шаблоны могут работать, как простые сокращатели (например, St превращается в String), а могут учитывать контекст. В нашем примере перед вводом шаблона был объявлен какой-то объект. Поэтому студия автоматически подставила в условие if подходящий объект по смыслу. Можете попробовать данный пример в разных местах вашей программы, чтобы увидеть, как это действует.

Рассмотрим пример использования живого шаблона на практике. Допустим, мы создали некий метод с использованием массива.

Введите внутри метода слово itar, от сокращённого «iteray array». В данном случае даже необязательно прибегать к горячим клавишам, так как студия сама покажет нужную подсказку, остаётся только нажать клавишу Enter. Живой шаблон видит, что метод использует массив, поэтому предложит следующий вариант.

Также можно задать массив внутри метода и по контексту шаблон развернёт код на основе этой информации.

Настройки шаблонов находятся в Settings. | Editor | Live Templates.

Наиболее интересными мне показались шаблоны для создания ссылок к компонентам find и toast.

Теперь можно написать:

После применения шаблона код автоматически развернётся в

Осталось только добавить имя ресурса.

С toast и так всё понятно. После ввода этого шаблона получаем.

Шаблон работает по контексту и подставляет имя вашей активности. Я заменил на свой вариант. Вместо:

Видео о том, как создать собственный живой шаблон.

Источник

Читайте также:  The henry stickman collection для андроид
Оцените статью