Estou a começar a programar para Android, e estou agora com uma dúvida de foro técnico: pretendo ter um diagrama com vários pontos seleccionáveis e clickáveis. Como me aconselham a fazer isto? Ter o diagrama como imagem, e depois criar zonas clickáveis (como em html), se é que tal coisa é possível? Ou tenho de criar o dito diagrama de raíz na própria aplicação, para depois fazer algum tipo de ligação aos pontos? Desculpem a questão ser tão ambígua, mas estou tão lost que nem faço ideia que estrutura devo usar no ecrã para conseguir este efeito!
Ajuda para construção de diagrama
Iniciado por
kokia
, Oct 05 2010 15:42
4 respostas a este tópico
#1
Mensagem publicada 05 October 2010 - 15:42
#2
Mensagem publicada 06 October 2010 - 07:23
Se calhar o mais fácil será posicionares esses "pontos" em cima da imagem como objectos que podes clicar.
Chat/ajuda do fórum: http://l.androidpt.com/chat
Usem a pesquisa por favor. Não insiram perguntas que já foram respondidas inúmeras vezes.
Usem o "Gosto" nos posts para agradecer a quem vos ajuda e não criem posts desnecessários.
Carpe diem quam minimum credula postero.
Usem a pesquisa por favor. Não insiram perguntas que já foram respondidas inúmeras vezes.
Usem o "Gosto" nos posts para agradecer a quem vos ajuda e não criem posts desnecessários.
Carpe diem quam minimum credula postero.
#3
Mensagem publicada 06 October 2010 - 08:04
A nível de componentes tanto podes criar um Layout de raiz com as Views todas ou ir criando-as dinamicamente através de código, para o teu caso acho que esta última se aplica melhor.Em relação ao posicionamento, existem várias maneiras de o fazer.Existe o AbsoluteLayout que te permite posicionar Views em determinadas coordenadas do ecrã, a má notícia é que esse tipo de layout está a ser descontinuado e futuramente deixará de ter suporte, pois não funciona muito bem em termos de compatibilidade entre diversos tamanhos e densidades de ecrã.Podes tentar o mesmo com o RelativeLayout, onde o posicionamento de uma View é relativo a uma outra (à sua direita, esquerda, topo, baixo, alinhado às extremidades, centro, etc...).Por fim tens a possibilidade de usar uma Canvas e seres tu a tratar dos desenhos todos. Talvez seja a mais trabalhosa, mas é nessa que vejo uma solução melhor em termos de desenho, por outro lado, a nível de detectar eventos já acho que complicará.Nunca trabalhei, nem planeei, algo que exigisse tanto dinamismo no ecrã. Também ficaria um bocado à toa. O melhor mesmo será criares algumas aplicações pequenas para experimentar soluções, e só depois de chegares a um resultado que funcione e te agrade é que aplicas isso no projecto. Criar uma aplicação grande em que uma das funções centrais foi criada um pouco à experiência e falha... é uma chatice de todo o tamanho. Podes mesmo acabar por perder mais tempo a tentar consertar aquilo do que aquele que terias perdido a estudar melhor o problema e a experimentar pequenas soluções.
#4
Mensagem publicada 07 October 2010 - 08:27
WhiT3Kr0w, parece uma boa ideia, acho que vou experimentar assim.libre, eu sei que devia começar com coisas pequenas, mas isto é um projecto para a faculdade, e aqui não nos dão tempo para funcionar com coisas pequenas antes de se começar o projecto, é começar logo à rei lol vamos lá ver no que isto dá!Entretanto, surgiu-me outra dúvida. Depois de ter andado às voltas com a ImageView e ter descoberto que os gestures para ela são ainda muito rudimentares, decidi exibir a minha imagem numa WebView, ou seja, num .html, já que a WebView trata automaticamente dos gestos, e também seria relativamente mais fácil implementar as áreas clickáveis que já tinha mencionado. Agora estou a tentar aceder pela WebView a um ficheiro local, de preferência que estivesse embutido no projecto (como os drawables) e que não fosse preciso passar esse ficheiro à parte para o cartão sd, por exemplo. Alguém tem ideia como isso se faz? Os tutoriais a que tenho acedido estão ou desactualizados ou errados, já não sei o que faça lol Obrigado pela ajuda já agora!
#5
Mensagem publicada 07 October 2010 - 21:12
Informação oficial está sempre actualizada e é sempre o melhor sítio onde encontrar o que pretendemos.Vê como fazeres o que pretendes aqui: http://developer.and...#filesInternalO exemplo de leitura de ficheiro podes adaptar porque é igual à leitura de ficheiros em java.Para teres ficheiros "locais" embutidos na aplicação, podes colocá-los na pasta res/raw/ e depois abrir o ficheiro com o método openRawResource().Aconselho-te a ler o "tip" dado nessa página.