Android – Adeus launcher drawables, olá mipmaps!

mipmaps mipmap

No ultimo update do Android Studio para versão 1.1, o uso das pastas mipmaps se tornaram padrão.

O que mudou foi que as pastas para os lauchers drawables antes com este formato:

res/
    drawable-mdpi/ic_launcher.png (48x48 pixels)
    drawable-hdpi/ic_launcher.png (72x72)
    drawable-xhdpi/ic_launcher.png (96x96)
    drawable-xxhdpi/ic_launcher.png (144x144)
    drawable-xxxhdpi/ic_launcher.png (192x192)

Foram alteradas para mipmaps, deixando a nomenclatura drawable apenas para arquivos de PNG, JPEG, GIF ou arquivos de imagem, 9-Patch, e arquivos XML que descrevem formas Drawable ou objetos Drawable que contêm vários estados (normal, pressionados, ou focalizado). Veja o tipo de recurso Drawable.

Então ficamos com a seguinte estrutura para mipmaps: Continue reading

Android – Como usar medidas DP, SP programaticamente (Use DIP, SP metrics programmatically)

Android minimizar

As unidades de medidas estão para facilitar nossa programação para diferentes telas, para definir no XML é bem simples, basta inserir a medida e depois a unidade (android:layout_width=”100dp”), porem quando vamos fazer programaticamente, por padrão a medida aceita é dada por PX (pixel).

O objectivo é o de calcular o número de pixels de acordo com um determinado valor na unidade escolhida. A baixo transformamos o valor de 20dp na quantidade de PX equivalente.

TextView tv0 = new TextView(this);
int px = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 20, getResources().getDisplayMetrics());
tv0.setWidth(px);

Se você quiser as métricas em SP, por exemplo, você só precisa mudar o TypedValue de TypedValue.COMPLEX_UNIT_DIP para TypedValue.COMPLEX_UNIT_SP ou qualquer outra métrica que você deseja usar.

Lembre-se de utilizar corretamente as unidades (veja aqui).

Android Studio, Gradle – Adicionar dependências no projeto usando o Maven (Maven Dependencies with Android Studio / Gradle)

android studio

Mais uma para a coleção de configuração de projetos no Android Studio. A facilidade do Gradle para incluir dependências é incrível, mais tem algumas regrinhas para aprender. Quando se trata de dependências do Android todas elas já estão lá bem acessíveis e com uma interface gráfica para facilitar a inclusão no ‘build.gradle’, porem quando vamos incluir uma dependência de outro repositório devemos configurar algumas coisas. O Gradle utiliza o Maven para facilitar essa inclusão, iremos configurar a inclusão da biblioteca ksoap2-android.

1 – Vamos abrir o ‘build.gradle’ do PROJETO, ele deve estar assim: Continue reading

Android Studio, Gradle – Adicionando uma biblioteca externa ao projeto (Gradle adding external library to a project)

android studioEste é minha primeira publicação sobre o Android Studio, ao utiliza-lo tive uma dificuldade para aprender o novo modo de tratar com as dependências utilizando o Gradle.

O Android Studio trabalha com um projeto principal e dentro dele seus módulos, quem faz a associação entre os módulos é o gradle, ao criarmos um app criamos um modulo principal, para adicionar uma biblioteca ao projeto devemos importar um novo modulo e nas configurações do modulo principal definir o outro modulo como biblioteca, porem ao importarmos esse modulo ele gera uma cópia na pasta do projeto, mas o que proponho nesta publicação é utilizar o projeto externo sem gerar uma cópia no projeto principal, assim não teremos ‘n’ cópias circulando por ai.

Para explicar melhor segue uma estrutura de projeto: Continue reading

Android – Como não fechar um AlertDialog quando um botão for selecionado. (How to prevent a dialog from closing when a button is clicked)


AlertDialog

 

No Android quando criamos um AlertDialog e definimos os botões, Possitive Button ou Negative Button, por padrão ao clicar neles a caixa de dialogo automaticamente é fechada, porem nem sempre queremos esta ação, as vezes queremos validar um EditText ou algo naquele dialogo, para não realizar duas interações como fechar o dialogo e abrir um outro informando o erro, vamos precisar cancelar a ação e inclui-la no momento desejado. Veremos abaixo como cancelar o evento que fecha o AlertDialog quando um botão é selecionado. Continue reading

Android – Utilizando o item do menu showAsAction com appcompat library v7

 

Atualmente para criarmos uma actionbar como mostra na figura acima precisamos de uma api minima v11, atravéz da appcompat libary v7 podemos utilizar a action bar em versões inferiores do android. O item do menu que nos permite incluir o icone na actionbar é o showAsAction com o valor “ifRoom” (recomendado pelo Android).

Tendo como principio que nosso projeto já tenha a appcompat libary v7, para utilizar do recurso deveremos fazer realizar os seguintes passos: Continue reading

Android – Remover o auto foco do EditText (Stop EditText from gaining focus at Activity startup)

 

focus-edittext

Não exibir o teclado ao iniciar uma activity.
Não dar foco no EditText ao iniciar uma activity.
Remover o foco ao iniciar a Activity.
Remover o autofoco do edittext.

Existe diversas formas de realizar este procedimento.
A primeira e mais simples é você definir em sua tag root de seu xml de layout os seguintes atributos: android:focusable=”true” e android:focusableInTouchMode=”true”

Vejamos o exemplo a seguir: Continue reading

Android – Falha ao exportar APK (The zipaling tool was not found in the SKD)

the zipaling tool was not found in the SKD

Ao exportar uma nova versão de um projeto me deparei com o erro acima.

” The zipaling tool was not found in the SKD ”

O problema está nas versões desatualizadas do seu SDK, para corrigir este problema, primeiramente verifique se o Plugin do Eclipse ou NetBeans esta atualizado.

Após essa verificação abra o Gerenciador do SDK (Window → Android SDK Manager) e instale o ultimo Android SDK Build-tools.

android-sdk-build-tools-20

Após instalado a ultima versão do Android SDK Build-tools (no caso a 20), reinicie sua IDE.

 

 

Android – Mudar a cor do cursor do EditText (change EditText cursor color)

change edittext cursor color

Para alterarmos a cor do cursor do EditText no android devemos primeiro criar o novo cursor com a cor desejada (podemos dar forma para esse cursor se desejar). Devemos criar um ‘shape’ e atribulo ao atributo android:textCursorDrawable do EditText, esse atributo está disponibilizado des da api 13+.

Vejamos como criar: Continue reading