segunda-feira, 20 de junho de 2011

Android: Dicas 3

Olá povo,

Meus alunos, mesmo após o fim das aulas, não me deixam em paz. E isso é bom ;) Eles ficam mandando dúvidas e soluções para problemas em que eles se deparam no dia-a-dia do desenvolvimento com Android. Sendo assim, lá vai mais uma leva de dicas de Android.

Dica 1 (dúvida de Felipe Bonezi)

A dúvida era como obter o tamanho da tela. Segue abaixo:
Display display = 
getWindowManager().getDefaultDisplay();

int width = display.getWidth();
int height = display.getHeight();


Dica 2 (dica de Bruno Baudel)

Ocultar o teclado virtual programaticamente.
InputMethodManager imm = (InputMethodManager) 
getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(editText.getWindowToken(), 0);


Dica 3 (dica de Felipe Vasconcelos)

Essa é a mais complicada de todas. Como modificar o background das abas de um TabHost. A primeira coisa que devemos ter são as imagens das abas. Se você não diver, crie no XML mesmo :) segue abaixo os XML para aba selecionada e normal, salve-os na pasta res/drawable com os nomes aba_normal.xml e aba_normal.xml.

<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">

<gradient
android:startColor="#000000"
android:endColor="#CCCCCC"
android:angle="90"
android:type="linear" />
<padding
android:left="10dp"
android:top="10dp" />
<corners
android:topLeftRadius="15dp"
android:topRightRadius="15dp" />
</shape>

<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">

<gradient
android:startColor="#000000"
android:endColor="#00FF00"
android:angle="90"
android:type="linear" />
<padding
android:left="10dp"
android:top="10dp" />
<corners
android:topLeftRadius="15dp"
android:topRightRadius="15dp" />
</shape>

Uma vez definida as imagens, precisamos associa-las ao estado da TabWidget, ou seja, quando a aba estiver selecionada, use a segunda imagem, caso contrário use a primeira. Crie o arquivo aba_selector também na pasta res/drawable.
<selector
xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:state_selected="true"
android:drawable="@drawable/aba_selecionada" />
<item
android:state_selected="false"
android:drawable="@drawable/aba_normal" />
</selector>

Depois é só setar o background de cada aba do TabWidget.
TabWidget tabWidget = getTabWidget();
for (int i = 0; i < tabWidget.getChildCount(); i++) {
View v = tabWidget.getChildAt(i);
v.setBackgroundDrawable(
getResources().getDrawable(R.drawable.aba_selector));
}



Dica 4 (dica de Ricardo Gilson)

Sem mais aguentar a linha "TODO" que é adicionada toda vez que criamos algum tipo de bloco ou método no Eclipse, Ricardo foi em busca de como retirá-lo. A solução é ir até o menu Window > Preferences... No lado esquerdo, selecione Java > Code style > Code templates. Ao percorrer a lista é possível observar que o TODO está configurado para várias chamadas:
Method body, Construtor body, Catch....

O jeito é remover a linha do TODO de cada um deles...
// ${todo} Auto-generated catch block.


É isso pessoal, vão mandando suas dicas que eu coloco aqui! :)
Obrigado a todos que contribuíram.

4br4ç05,
nglauber

Um comentário:

Felipe Bonezi disse...

obrigado por responder minha dúvida Glauber,

Abraço,
Felipe