pergunta sobre a interface do Android. Orientação de implementação

9

Estou trabalhando na implementação de uma interface do usuário para um aplicativo Android e gostaria de perguntar se já existe algo nos widgets nativos para realizar a maior parte do que estou tentando fazer.

O aplicativo em que estou trabalhando realiza 15 tarefas diferentes que podem ser divididas em três grupos diferentes. (5 tarefas por grupo) Eu tenho 18 imagens de ícone (3 para os grupos e 15 para as tarefas individuais) e eu quero poder fazer o painel desses ícones (começando com os grupos) assim:

Euqueroopróximoíconevisívelabaixoeacima(semaisabaixodoprimeiroícone)edeslizeparairparaopróximoícone

Quando um ícone é clicado, os painéis deslizam para o lado, expondo a próxima camada (as 5 tarefas específicas para o grupo selecionado) com o grupo selecionado ainda visível ao lado:

A partir daí, o usuário pode ver rapidamente em que grupo está, quais são as tarefas atuais, as próximas e as anteriores selecionáveis e, deslizando para a direita, elas podem voltar para a seleção de grupos.

Quais tipos de widgets eu precisaria investigar para realizar algo assim? Já existem listas pré-construídas para realizar essas atividades?

Obrigado por qualquer orientação!

    
por joe_coolish 24.05.2011 в 16:59
fonte

4 respostas

6

Você pode se aproximar com um LinearLayout de ImageView widgets e um ScrollView (vertical) ou HorizontalScrollView . No entanto, ele não fornecerá a imagem desejada "imagem centralizada com bits do efeito de imagens anteriores / próximas" - será onde o usuário a posicionar.

Você pode se aproximar com um Gallery . No entanto, não lhe dará a orientação vertical, e sempre lhe dará um conjunto fixo de opções completas para os lados, não as imagens parciais que você procura.

Se tem que ser do jeito que você descreve, você terá que rolar você mesmo. Gestos e animações devem dar o efeito desejado.

    
por CommonsWare 24.05.2011 / 18:13
fonte
0

Você deu uma olhada no ViewFlipper? link Isso proporcionará o efeito lado a lado, mas você terá que criar exibições personalizadas para cada grupo para preenchê-lo com os ícones adequados.

    
por JPM 07.06.2011 / 19:49
fonte
0

Eu usaria um ListActivity para os 3 primeiros itens de nível superior. Isso não lhe dará o efeito de centralização automática que você provavelmente desejará, mas será possível ver o código-fonte da Galeria, que pode ser encontrado aqui , e faça algumas modificações na ListActivity para que os autocenters.

Para os próximos itens, adiciono um onClick e um GestureListener para que você possa navegar para outra atividade com outra exibição de lista. Como você sabe de onde veio (adicione alguns dados à sua intenção), pode definir o retângulo de cores à esquerda, de modo que pareça ter acabado de passar toda a visão para a esquerda.

Se você precisar personalizar a animação, você pode chamar isto:

overridePendingTransition(R.anim.slide_left_entry, R.anim.slide_left_exit);

Para fazer com que o ícone amarelo pareça bom, pois ele é animado à esquerda, altero os limites da lista (na primeira atividade) para não ter margens e altero o ícone amarelo para ter as bordas quadradas à direita - Isso fará com que pequeno retângulo amarelo na próxima atividade parece fazer parte da primeira atividade.

Deve ser relativamente fácil burlar isso para ver se isso vai funcionar corretamente para você.

Boa sorte!

EDIT: Ok, então eu fiz um projeto básico que faz a maior parte do que você quer. aqui é o link para o arquivo de projeto do eclipse. Eu ia colocar a fonte aqui, mas tem muito para mostrar.

O que você ainda precisa fazer:

  • Tweak animation
  • Configure as listas de camadas para exibir as cores corretas
  • Adicione informações à intenção de nível superior para que a subatividade possa se configurar sozinha.
  • Algumas outras pequenas coisas.

Eu acho que tenho as coisas principais feitas. Eu também adicionei o ouvinte de gestos que eu falei, apesar de reler sua pergunta, você realmente não pediu por isso. Desde que é legal, eu deixei.

Boa sorte mais uma vez !!

    
por Caspar Harmer 07.06.2011 / 08:59
fonte
-1

Já pensou em lançar Atividades com diferentes configurações de visualização? Você pode alternar de uma atividade para outra com um gesto e pode animar as exibições. O que sua interface do usuário parece para mim é um monte de telas com recursos que mostram as outras telas. Então, uma Activity por tela pode ser a mesma em configurações diferentes ou algo assim.

    
por AGrunewald 04.06.2011 / 20:43
fonte