Skip to content

Latest commit

 

History

History
159 lines (122 loc) · 5.42 KB

README.pt.md

File metadata and controls

159 lines (122 loc) · 5.42 KB

Android Simple Tooltip

EN

Licence MIT Build Status Release 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_circle_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

Gradle

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

    allprojects {
    	repositories {
    		...
    		maven { url "https://jitpack.io" }
    	}
    }
  2. Adicione a dependência

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

Maven

  1. Adicione em seu arquivo pom.xml ao final dos repositórios:

    <repositories>
        ...
    	<repository>
    	    <id>jitpack.io</id>
    	    <url>https://jitpack.io</url>
    	</repository>
    </repositories>
  2. Adicione a dependência

    <dependency>
        <groupId>com.github.douglasjunior</groupId>
        <artifactId>android-simple-tooltip</artifactId>
        <version>0.1.1</version>
    </dependency>

Snapshot

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

ou

<dependency>
    <groupId>com.github.douglasjunior</groupId>
    <artifactId>android-simple-tooltip</artifactId>
    <version>master-SNAPSHOT</version>
</dependency>

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.)

Contribuições

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

Licença

The MIT License (MIT)

Copyright (c) 2016 Douglas Nassif Roma Junior

Veja o arquivo de licença completo.