Saltar para conteúdo


Foto
- - - - -

Montes de imagens num plano com zoom e scroll


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

#1 Nazgulled

Nazgulled

    Membro

  • Membros
  • PipPip
  • 216 mensagens

Mensagem publicada 12 December 2010 - 19:53

Boas,Queria começar a desenvolver a minha primeira app para Android e gostava que me dessem umas luzes sobre aquilo que quero fazer para não ter de ler a documentação toda :PO que eu preciso é um "plano" que possa definir o tamanho (ecrã todo, parte dele, whatever) e duas funcionalidades importantes para a aplicação ser interessante são:
  • Que me permita fazer zoom ao conteúdo que lá estiver (se fosse com pinch-zoom era nice, se isso der muito trabalho fica para uma próxima versão e opto pela técnica do double-press que faz ou tira zoom no ponto pressionado que deve ser mais fácil implementar) e para além disso que permitisse scroll (arrastando o dedo claro, julgo que isso se chama swipe ou neste contexto tem outro nome?) tanto verticalmente como horizontalmente.
  • Dentro desse "plano" preciso de ter pequenas imagens, mas muitas delas. O mais simples é apresenta-las numa grelha de XxY mas eu queria algo diferente. Gostava de puder aproximar essas imagens umas as outras de forma circular mas sem que o desenho delas toque uns nos outros. Será que me fiz entender? Pensei em definir imagens extra que servem como mascara que identifica a área da imagem real que não pode ser sobreposta numa outra, fora dessa área não há problema que isso aconteça, aliás, é o que quero. Mas não faço ideia como usaria esta técnica no Android.
Iluminem-me se faz favor http://www.androidpt...tyle_emoticons/AndroidSmall/emo_im_happy.png

#2 PJFonseca

PJFonseca

    Mestre de Android

  • Former Staff
  • PipPipPipPipPipPip
  • 2562 mensagens
  • OnePlus 2

Mensagem publicada 13 December 2010 - 11:21

Opá, a minha "lanterna" nessa área ainda está OFF, mas deixa cá chamar o r3 e o veloso.

#3 r3pek

r3pek

    Guru de Android

  • Former Staff
  • PipPipPipPipPip
  • 1560 mensagens
  • LocalizaçãoBA4 - Terceira - Açores
  • Nexus One + Motorola XOOM

Mensagem publicada 13 December 2010 - 11:29

Assim de repente, uma scrollview com montes de imageviews deve-te resolver a maior parte do problema. Alias, se calhar é melhor mesmo uma scroll com uma absolute com as imageviews.O problema é que acho que a absoluteview está descontinuada. Portanto podes ter que fazer a tua própria view. Mas parte-se para isso quando soubermos que não funciona mesmo :PO arranjo das imagens dentro da absolute view, tem que ser calculado (o x e o y) da maneira que quiseres.

#4 PJFonseca

PJFonseca

    Mestre de Android

  • Former Staff
  • PipPipPipPipPipPip
  • 2562 mensagens
  • OnePlus 2

Mensagem publicada 13 December 2010 - 11:32

Assim de repente uma scrollview com montes de imageviews deve-te resolver a maior parte do problema. Alias, se calhar é melhor mesmo uma scroll com uma absolute com as imageviews.O problema é que acho que a absoluteview está descontinuada. Portanto podes ter que fazer a tua própria view. Mas parte-se para isso quando soubermos que não funciona mesmo :PO arranjo das imagens dentro da absolute view, tem que ser calculado (o x e o y) da maneira que quiseres.

Nazgulled,Espero que ajude e tenhas percebido porque eu fiquei ainda mais confuso ;)

#5 r3pek

r3pek

    Guru de Android

  • Former Staff
  • PipPipPipPipPip
  • 1560 mensagens
  • LocalizaçãoBA4 - Terceira - Açores
  • Nexus One + Motorola XOOM

Mensagem publicada 13 December 2010 - 11:56

NazgulledEspero que ajude e tenhas percebido porque eu fiquei ainda mais confuso ;)

Isso é por só usares o AppInventor :)

#6 Nazgulled

Nazgulled

    Membro

  • Membros
  • PipPip
  • 216 mensagens

Mensagem publicada 13 December 2010 - 15:12

Não fiquei lá muito esclarecido não lol...E isso só solucionava o ponto um, não estou a ver como fazer o ponto 2. Lembrei-me foi que em vez da tal mascara, se usar PNGs com transparência, talvez seja mais fácil pois só tenho de manipular uma imagem.

#7 r3pek

r3pek

    Guru de Android

  • Former Staff
  • PipPipPipPipPip
  • 1560 mensagens
  • LocalizaçãoBA4 - Terceira - Açores
  • Nexus One + Motorola XOOM

Mensagem publicada 13 December 2010 - 16:16

Não fiquei lá muito esclarecido não lol...E isso só solucionava o ponto um não estou a ver como fazer o ponto 2. Lembrei-me foi que em vez da tal mascara, se usar PNGs com transparência, talvez seja mais fácil pois só tenho de manipular uma imagem.

Isso já entra na parte de "O arranjo das imagens dentro da absolute view, tem que ser calculado (o x e o y) da maneira que quiseres.". :)São as "regras de negócio" que só tu sabes :) Não que eu não tenha percebido, mas o mais facil provavelmente é mesmo calcular o X e o Y baseado nalguma coisa. Agora se é uma imagem PNG já me transcende pk nunca "trabalhei" imagens.

#8 Nazgulled

Nazgulled

    Membro

  • Membros
  • PipPip
  • 216 mensagens

Mensagem publicada 13 December 2010 - 16:26

O problema não é a "forma que eu quero" que "só eu sei" lol... Qu sei o que quero, certo, não faço ideia é como implementar. Mas acho que vou deixar esse passo para mais tarde.Ando a ver uns tutorias no blog de developers da Sony Ericsson, tem lá uma cena interessante para ter um canvas com zoom (de 1 dedo) e panning.

#9 r3pek

r3pek

    Guru de Android

  • Former Staff
  • PipPipPipPipPip
  • 1560 mensagens
  • LocalizaçãoBA4 - Terceira - Açores
  • Nexus One + Motorola XOOM

Mensagem publicada 13 December 2010 - 16:39

O problema não é a "forma que eu quero" que "só eu sei" lol... Qu sei o que quero certo, não faço ideia é como implementar. Mas acho que vou deixar esse passo para mais tarde.Ando a ver uns tutorias no blog de developers da Sony Ericsson, tem lá uma cena interessante para ter um canvas com zoom (de 1 dedo) e panning.

Era uma forma de dizer, acho que percebeste ;)Sim, esses bacanos têm código fixe.

#10 pedronveloso

pedronveloso

    Veloso

  • Administradores
  • 1578 mensagens
  • S8

Mensagem publicada 13 December 2010 - 17:52

Com elementos dentro de um RelativeLayout também tens algum controlo posicional, tipo objecto A fica à direita de B, e acima deste uns X [unidades de medida], por aí fora... No entanto se é uma coisa que vai mudar de sitio ao longo da execução da aplicação, tal como um jogo com peças em movimento, e mesmo para ter um controlo mais rigoroso e suave o melhor é não usar as Views e Layouts nativos de Android, porque não foram pensadas para estarem em movimento. O ideal será mesmo usares openGL, não necessariamente a baixo nível, mas tens algumas bibliotecas que são mais indicadas para isso, e bem mais alto-nível:http://www.droidgamers.com/index.php/tutorials-and-guides/resources

#11 Nazgulled

Nazgulled

    Membro

  • Membros
  • PipPip
  • 216 mensagens

Mensagem publicada 14 December 2010 - 12:08

Acho que não percebeste bem o que eu quero, um RelativeLayout não vai permitir aquilo que eu pretendo fazer. Os elementos não vão mudar de sitio. O próprio plano é que deve ser possível movimenta-lo porque quero algo que tenha umas dimensões bem maiores que o ecrã do telemóvel.Imagina um mapa, é enorme e não cabe todo no ecrã (a não ser que tires o zoom todo e assim não vês os pormenores) mas podes fazer zoom e mover esse mesmo mapa, quero algo semelhante mas com a possibilidade de desenhar o que me apetecer e que dê para pressionar certas imagens dentro desse plano.OpenGL para o que quero fazer é overkill, não há necessidade nenhuma. E se estou agora a começar com Android, não me vou meter também a aprender OpenGL, um passo de cada vez. E esse passo fica para o próximo semestre em CG ;)