Uma simples biblioteca baseada no PopupWindow para criação de Tooltips em Android.
View ou um XML de layoutBuilder ou XMLs de resources
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();
<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.
Adicione em seu arquivo raiz build.gradle ao final dos repositórios:
javascript
allprojects {
repositories {
...
maven { url "https://jitpack.io" }
}
}
Adicione a dependência
javascript
dependencies {
compile 'com.github.douglasjunior:android-simple-tooltip:0.2.2'
}
dependencies {
compile('com.github.douglasjunior:android-simple-tooltip:master-SNAPSHOT') {
changing = true // Gradle irá checar por atualizações a cada 24 horas
}
}
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
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.)
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.)
À 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.
The MIT License (MIT)
Copyright (c) 2016 Douglas Nassif Roma Junior
Veja o arquivo de licença completo.
$ claude mcp add android-simple-tooltip \
-- python -m otcore.mcp_server <graph>