Boas malta,Estou a fazer uma aplicação em Android, onde preciso de fazer o seguinte:Basicamente é um menu, com imagens associadas aos botões.Já tenho tudo feito, como queria. Fiz os botões normalmente e associei uma imagem ao botão com recurso à propriedade "Drawable left". O que me acontece é o seguinte:Não consigo afastar a imagem do canto esquerdo! Centrá-la verticalmente não tem grande dificuldade, mas afastá-la da margem esquerda não consigo! Não consigo também, e isso era o mais essencial, diminuir o tamanho da imagem!Alguém tem sugestões??Tenho a acrescentar que trabalhar com imagens em Android está-se a revelar um horror :SSe alguém tiver uma sugestão para implementar o Menu, sem recurso a botões normais, força
Custom Button
Iniciado por
joaocarloscsousa
, Feb 16 2011 16:14
5 respostas a este tópico
#1
Mensagem publicada 16 February 2011 - 16:14
#2
Mensagem publicada 16 February 2011 - 22:32
Daqui que descreves penso que estás a fazer um botão com recurso a um TextView, e se for esse o caso não dá para fazer o que pretendes.Penso que uma melhor solução é ter um ImageView com o desenho do botão, e colocar um TextView por cima do mesmo. Colocas isso tudo dentro de um RelativeLayout e com isso controlas o posicionamento relativo de cada elemento muito mais facilmente.Fica tipo assim: e depois como propriedades do imageview, como está dentro de um relativeLayout, ficas com as seguintes novas propriedades disponíveis:align_parent_left > usas para o colocar à esquerdamargin_left > usar para distanciar da margem do relative layoutcenterVertical > centrar na verticalNota que os nomes que aqui usei para as propriedades foram de memória, mas serão semelhantes ao que escrevi.
#3
Mensagem publicada 16 February 2011 - 22:37
PS: Agora é que percebi, não estás a usar um TextView mas sim um Button, mas a minha sugestão mantém-se
#4
Mensagem publicada 16 February 2011 - 22:43
Já experimentaste o android:drawablePadding ???
#5
Mensagem publicada 17 February 2011 - 11:54
Já, não funciona, limita-se a afastar o texto. A solução passou por fazer o que pedronveloso sugeriu, ou seja, relative layout com imagem à esquerda e texto a direita...Obrigado aos dois, problema resolvidoJá experimentaste o android:drawablePadding ???
#6
Mensagem publicada 17 February 2011 - 17:40
Penso que se utilizares um TableLayout com o TableRow centrado ao meio também dá para fazer o mesmo.
Microsoft Lumia 535 + Nexus 7
Mediacenter Minix Neo X8-H + WeTek Play
Backups: SGS + TF101 + Raspberry Pi 2