|
Página 1 de 1
|
[ 4 Mensagens ] |
|
[RESOLVIDO] Criar Botões em Tempo de Execução
| Autor |
Mensagem |
|
lucasvarjao
What is Android?
Data de registro: 09 Jul 2012, 21:21 Mensagens: 7
|
 [RESOLVIDO] Criar Botões em Tempo de Execução
Pessoal é o seguinte eu preciso criar botões em tempo de execução, não sei quantos são, vo decidir isso com um for. eu até consigo criar, mas só isso, não consigo definir o nome dele, a posição dele na Activity e todo o resto das propriedades, ele apenas fica cinza. Alguem sabe como eu altero as propriedades desse botão? E como eu crio o evento OnClick pra todos esses botões criados? Eu sei fazer tudo isso em C# somente Se alguem souber e puder me ajudar fico grato 
Editado pela última vez por lucasvarjao em 25 Set 2012, 13:11, num total de 1 vezes
|
| 22 Set 2012, 22:32 |
|
 |
|
filipe_moraes
Anatomy of an App
Data de registro: 01 Jun 2012, 12:50 Mensagens: 189
|
 Re: Criar Botões em Tempo de Execução
Olá, segue a solução: //Declarando a variavel BTButton BT = new Button(this); //Definindo o id do botão//Se está a criar os botões em um ciclo for, cada um deve ter um id únicoBT. setId(301); //Definindo o tamanho do botãoRelativeLayout. LayoutParams BT_PARAM = new RelativeLayout. LayoutParams(50, 50); //Definindo a posição do botão, nesse exemplo ele vai ficar a esquerda do objeto que tem o id = 300//Vai depender do que você quer fazer no seu layout, pode posicionar a esquerda, a direita, acima ou abaixo de um determinado objeto, desde que o objeto que será usado como referência tenha um id definido.BT_PARAM. addRule(RelativeLayout. LEFT_OF, 300); //...ou simplesmente posicionar a esquerda do layout independentemente de qualquer objeto, como no exemplo abaixo, estou informando que quero que o botão fique a esquerda dentro do objeto no qual vai ser inserido, veja a última linha para perceber.BT_PARAM. addRule(RelativeLayout. ALIGN_PARENT_LEFT); //Aplicando margensBT_PARAM. setMargins(0, 7, 7, 0); //Aplicando uma imagem de fundo que salvei na pasta "res/drawable"BT. setBackgroundDrawable(this. getResources(). getDrawable(R. drawable. alarmdel)); //Também pode ser só uma cor no lugar da imagem, no exemplo está definida em RGB:BT. setBackgroundColor(Color. rgb(199, 199, 199)); //Aqui uma cor definida sem usar RGB:BT. setBackgroundColor(Color. WHITE); //Ou então um gradiente, onde define a orientação desse gradiente, cor inicial e cor finalGradientDrawable gd = new GradientDrawable (GradientDrawable. Orientation. TOP_BOTTOM, new int[] {Color. rgb(185, 184, 184), Color. rgb(110, 110, 110)}); gd. setCornerRadius(5f ); //Cantos arredondadosgd. setStroke(2, Color. rgb(170, 170, 170)); //Borda de 2dip, cor definida em RGBBT. setBackgroundDrawable(gd ); //Aplicando o evento onClickBT. setOnClickListener(new OnClickListener (){public void onClick (View v ){//...aqui vai o seu código, se quiser pegar o id do botão no qual o utilizador clicou faça o seguinte:int id = v. getId(); }}); //Aqui estou inserindo o botão dentro do objeto RL, nesse caso é uma RelativeLayout.//Repare que o segundo parâmetro são as definições do layout do botão, variável que criamos lá em cimaRL. addView(BT,BT_PARAM ); Vê se ajuda, qualquer dúvida posta aê!
_________________Happy Day - Nunca mais se esqueça das datas especiais, envia sms automaticamente no dia da comemoração! https://play.google.com/store/apps/details?id=br.com.happydayfreeCaso tenha encontrado sua solução, coloque como [RESOLVIDO] para facilitar a dúvida de outros. http://www.portalandroid.org- Tudo sobre o Android. JESUS VOLTARÁ! Não sabe quem é? Procure, ainda há tempo.
|
| 23 Set 2012, 22:15 |
|
 |
|
lucasvarjao
What is Android?
Data de registro: 09 Jul 2012, 21:21 Mensagens: 7
|
 Re: Criar Botões em Tempo de Execução
Valeu filipe_moraes.
Funcionou perfeitamente, ajudou muito, brigadão.
Aproveitando o tópico, tem como me ajudar a criar um timer?
preciso de um timer que a cada 5 segundos faça uma ação.
já tentei varios códigos espalhados pela net, mas nenhum ajudou =/
|
| 25 Set 2012, 01:12 |
|
 |
|
filipe_moraes
Anatomy of an App
Data de registro: 01 Jun 2012, 12:50 Mensagens: 189
|
 Re: Criar Botões em Tempo de Execução
Olá lucasvarjao. Faça o seguinte, edite o primeiro post e coloque [RESOLVIDO] no assunto, tem um botão "editar" no lado direito superior do primeiro post. Em relação a sua dúvida, abra outro tópico, no caso de alguém ter a mesma dúvida, nós te ajudaremos nesse tópico, ok? 
_________________Happy Day - Nunca mais se esqueça das datas especiais, envia sms automaticamente no dia da comemoração! https://play.google.com/store/apps/details?id=br.com.happydayfreeCaso tenha encontrado sua solução, coloque como [RESOLVIDO] para facilitar a dúvida de outros. http://www.portalandroid.org- Tudo sobre o Android. JESUS VOLTARÁ! Não sabe quem é? Procure, ainda há tempo.
|
| 25 Set 2012, 09:21 |
|
|
|
Página 1 de 1
|
[ 4 Mensagens ] |
|
Quem está online |
Usuários vendo este fórum: abruzzi, agtavares, alex, alexandrefett, alexandreufcg, Anakin Skywalker, andrelom, arilsonm, arnaldo.miranda, Ask Jeeves, avsouza, azero, baudamix, Biel, billsombrio, BMaia, bozzano, breko, btleandro, C0GuM3I0, car.demarco, carlos rodrigues, Catapan, Chefe Nass, Comandante Cody, cosmotheoro, Cynthia, Darkluna, dchechetto, Diego Otani, dramos, edson dias de gusmao, edsonel, Eduardo - Brasil, eferrari, elisa, emersonbarros, felipedornelas, fernando neves, frances135, garretereis, geovanebg, gfgodoy, Google Android, guilhermesmo, gusrp, gustavobarbosa, guto.pro, gutodias, gutomilani, helder, hellbest, henrique.cardoso, ijsilvestre, ismavolk, jandersonjc, JeffCF, Jenius, Jless@, jlucasps, jpespindola, juliana_costa, juliaojunior, Katia, laurj, leofernandesmo, Leonardo333, LucasNascimento, Lucious, luizcesar, Mace Windu, mateusff, MBetioli, Mig, msmdark, navegador, nglaubervasc, nina.rm, nivaldo, nocivus, onedroid, pchofard, pgbatera, piantino, pmzara, polonia, poponeis, R2-D2, Rafael Felix, Ranieri, raragao, rayberg, rcotonet, renata, robertofonte, rodrigo_mg, rogeriokta, Samantha, Shaman286, slackware, Teodoro, Thelemita, thiago@xbrain.com.br, tonical, viniciusllima, Wds, Wesleyceraso, Wookiees e 2 visitantes |
|
Você não pode criar novos tópicos neste fórum Você não pode responder tópicos neste fórum Você não pode editar suas mensagens neste fórum Você não pode excluir suas mensagens neste fórum Você não pode enviar anexos neste fórum
|
|