Ver mensagens sem resposta | Ver tópicos ativos Hoje é 19 Jun 2013, 21:07



Este tópico está trancado, você não pode editar mensagens ou enviar respostas.  [ 4 Mensagens ] 
 [RESOLVIDO] Criar Botões em Tempo de Execução 
Autor Mensagem
What is Android?
What is Android?

Data de registro: 09 Jul 2012, 21:21
Mensagens: 7
Mensagem [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 :D


Editado pela última vez por lucasvarjao em 25 Set 2012, 13:11, num total de 1 vezes



22 Set 2012, 22:32
Perfil
Anatomy of an App
Anatomy of an App

Data de registro: 01 Jun 2012, 12:50
Mensagens: 189
Mensagem Re: Criar Botões em Tempo de Execução
Olá, segue a solução:

//Declarando a variavel BT
Button 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 único
BT.setId(301);

//Definindo o tamanho do botão
RelativeLayout.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 margens
BT_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 final
GradientDrawable gd = new GradientDrawable(GradientDrawable.Orientation.TOP_BOTTOM,new int[] {Color.rgb(185,184,184),Color.rgb(110,110,110)});
gd.setCornerRadius(5f); //Cantos arredondados
gd.setStroke(2, Color.rgb(170,170,170)); //Borda de 2dip, cor definida em RGB
BT.setBackgroundDrawable(gd);   

//Aplicando o evento onClick
BT.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 cima
RL.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.happydayfree

Caso 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
Perfil
What is Android?
What is Android?

Data de registro: 09 Jul 2012, 21:21
Mensagens: 7
Mensagem 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
Perfil
Anatomy of an App
Anatomy of an App

Data de registro: 01 Jun 2012, 12:50
Mensagens: 189
Mensagem 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? /xx

_________________
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.happydayfree

Caso 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
Perfil
Mostrar mensagens anteriores:  Organizar por  
Este tópico está trancado, você não pode editar mensagens ou enviar respostas.   [ 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

Procurar por:

© 2007 - 2013 Portal Android - Comunidade de Desenvolvedores da Plataforma Android

Estamos no Linkedin    Siga-nos no twitter


Powered by phpBB - Hospedado por Bemobi