Saltar para conteúdo


Foto
- - - - -

CustomView + Layout


  • Por favor inicie sessão para responder
3 respostas a este tópico

#1 takecare

takecare

    Novato

  • Membros
  • Pip
  • 3 mensagens

Mensagem publicada 27 November 2010 - 19:22

Boas.Estou a desenvolver uma aplicação para Android em que necessito de uma custom view (que já criei), baseada no Canvas (onDraw), mas tenho um problema que simplesmente não consigo resolver, mesmo após ter tentado diferentes abordagens.Ao mesmo tempo que consigo visualizar a minha custom view tenho que conseguir mostrar botões (Button) no ecrã.De momento estou a mostrar a custom view a partir da activity principal, ou seja, não está no layout xml.[code type=javascript] CustomView cv = new CustomView(this,getWindowManager().getDefaultDisplay()); setContentView(cv);[/code]A minha experiência com android não é muita, daí a solução poder ser até relativamente simples, mas já procurer n'outros sítios e nada do que encontrei resolveu este problema.Agradeço desde já qualquer ajuda. ;)

#2 drjunior

drjunior

    Membro

  • Membros
  • PipPip
  • 62 mensagens

Mensagem publicada 28 November 2010 - 01:17

Viva,Tens mais do que uma maneira de resolver o teu problema. Uma delas é colocares a custom view num layout em xml.Mas o modo mais fácil é criares por exemplo um layout em xml com um RelativeLayout por exemplo, fazes setContentView do Layout (com setContentView(R.layout.nome_do_teu_layout) ) e depois apenas precisas de adicionar a tua customView ao RelativeLayout que crias-te no layout em xml.Simples hã :pSe precisares de ajuda ou tiveres dúvidas em algum dos passos diz.

#3 takecare

takecare

    Novato

  • Membros
  • Pip
  • 3 mensagens

Mensagem publicada 28 November 2010 - 11:51

Tentei desta forma:[code type=xml][/code]e o seguinte código no onCreate[code type=javascript] LinearLayout main = (LinearLayout) findViewById(R.id.main); setContentView(main); main.addView((VerticalBarView)findViewById(R.id.barview));[/code]o que resulta nun null pointer exception (http://pastebin.com/BjXYtZ1z) ;)

#4 drjunior

drjunior

    Membro

  • Membros
  • PipPip
  • 62 mensagens

Mensagem publicada 29 November 2010 - 00:16

A ideia é criar o container no xml e a tua custom view no código.Por isso em vez de adicionares o VerticalBarView, adicionas a tua customView:CustomView cv = new CustomView(this,getWindowManager().getDefaultDisplay());main.addView(cv);