MCPcopy Index your code
hub / github.com/douglasjunior/android-simple-tooltip

github.com/douglasjunior/android-simple-tooltip @1.1.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release 1.1.0 ↗ · + Follow
98 symbols 203 edges 5 files 30 documented · 31% updated 23mo ago1.1.0 · 2022-04-04★ 8373 open issues
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Android Simple Tooltip

EN

Licence MIT Build Status Release Downloads Android Arsenal

Uma simples biblioteca baseada no PopupWindow para criação de Tooltips em Android.

Funcionalidades

  • Trabalha a partir do Android 2.1 (API 7) Obs: animação acima do 3.0 (API 11)
  • Uso simplificado: poucos parâmetros em uma única linha de código
  • Animação com controle de velocidade e tamanho
  • Opção para fechar com toque dentro ou fora do tooltip
  • Modo modal (impede o toque nos componentes do background)
  • Overlay (escurece o fundo dando destaque no componente âncora)
  • Personalização da seta (arrow)
  • Conteúdo inflável a partir de uma View ou um XML de layout
  • Cores e dimenções customizadas via Builder ou XMLs de resources

Demonstração

Demonstração

Uso

Básico

View yourView = findViewById(R.id.your_view);

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

Resources

<color name="simpletooltip_background">@color/colorAccent</color>
<color name="simpletooltip_text">@android:color/primary_text_light</color>
<color name="simpletooltip_arrow">@color/colorAccent</color>
<dimen name="simpletooltip_max_width">150dp</dimen>
<dimen name="simpletooltip_overlay_offset">10dp</dimen>
<dimen name="simpletooltip_margin">10dp</dimen>
<dimen name="simpletooltip_padding">8dp</dimen>
<dimen name="simpletooltip_arrow_width">30dp</dimen>
<dimen name="simpletooltip_arrow_height">15dp</dimen>
<dimen name="simpletooltip_animation_padding">4dp</dimen>
<integer name="simpletooltip_overlay_alpha">120</integer>
<integer name="simpletooltip_animation_duration">800</integer>
<style name="simpletooltip_default" parent="@android:style/TextAppearance.Medium"></style>

Para mais informações, confira o projeto de exemplo e o javadoc.

Download

Release

  1. Adicione em seu arquivo raiz build.gradle ao final dos repositórios:

    javascript allprojects { repositories { ... maven { url "https://jitpack.io" } } }

  2. Adicione a dependência

    javascript dependencies { compile 'com.github.douglasjunior:android-simple-tooltip:0.2.2' }

Snapshot

dependencies {
    compile('com.github.douglasjunior:android-simple-tooltip:master-SNAPSHOT') {
        changing = true // Gradle irá checar por atualizações a cada 24 horas
    }
}

Contribua

Novas funcionalidades, correções de bug e melhorias na tradução serão bem vindas! Para dúvidas e sugestões utilize as issues.

Antes de enviar seu PR, execute a checagem do gradle.

./gradlew build connectedCheck

Doar

Problemas conhecidos

  1. Se fechar a Dialog/Activity sem que a Tooltip seja encerrada, pode ocorrer o erro java.lang.IllegalArgumentException: Could not lock surface. Este erro ocorre devido a animação continuar após o fechamento da Dialog/Activity. (Este erro não afeta no funcionamento do programa.)

  2. Se chamar tooltip.show() após a Activity/Dialog ser encerrada, pode ocorrer o erro android.view.WindowLeaked: Activity has leaked window android.widget.PopupWindow$PopupViewContainer that was originally added here. Leia mais. (Este erro não afeta no funcionamento do programa.)

  3. À partir da API 24 o Android mudou o comportamento da PopupWindow em relação a propriedade setClippingEnabled, isso faz com que a Popup possa ficar cortada se não couber na tela. Leia mais.

Licença

The MIT License (MIT)

Copyright (c) 2016 Douglas Nassif Roma Junior

Veja o arquivo de licença completo.

Extension points exported contracts — how you extend this code

OnDismissListener (Interface)
(no doc) [2 implementers]
library/src/main/java/io/github/douglasjunior/androidSimpleTooltip/SimpleTooltip.java
OnShowListener (Interface)
(no doc) [1 implementers]
library/src/main/java/io/github/douglasjunior/androidSimpleTooltip/SimpleTooltip.java

Core symbols most depended-on inside this repo

findViewById
called by 21
library/src/main/java/io/github/douglasjunior/androidSimpleTooltip/SimpleTooltip.java
show
called by 17
library/src/main/java/io/github/douglasjunior/androidSimpleTooltip/SimpleTooltip.java
build
called by 16
library/src/main/java/io/github/douglasjunior/androidSimpleTooltip/SimpleTooltip.java
text
called by 16
library/src/main/java/io/github/douglasjunior/androidSimpleTooltip/SimpleTooltip.java
anchorView
called by 16
library/src/main/java/io/github/douglasjunior/androidSimpleTooltip/SimpleTooltip.java
gravity
called by 16
library/src/main/java/io/github/douglasjunior/androidSimpleTooltip/SimpleTooltip.java
removeOnGlobalLayoutListener
called by 9
library/src/main/java/io/github/douglasjunior/androidSimpleTooltip/SimpleTooltipUtils.java
animated
called by 7
library/src/main/java/io/github/douglasjunior/androidSimpleTooltip/SimpleTooltip.java

Shape

Method 90
Class 6
Interface 2

Languages

Java100%

Modules by API surface

library/src/main/java/io/github/douglasjunior/androidSimpleTooltip/SimpleTooltip.java60 symbols
library/src/main/java/io/github/douglasjunior/androidSimpleTooltip/SimpleTooltipUtils.java16 symbols
library/src/main/java/io/github/douglasjunior/androidSimpleTooltip/ArrowDrawable.java9 symbols
library/src/main/java/io/github/douglasjunior/androidSimpleTooltip/OverlayView.java8 symbols
sample/src/main/java/io/github/douglasjunior/androidSimpleTooltip/sample/MainActivity.java5 symbols

For agents

$ claude mcp add android-simple-tooltip \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact