Saltar para conteúdo


Foto
- - - - -

Layout Menu de 4 itens, autofit

layout menu adjustar

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

#1 Algina

Algina

    Novato

  • Membros
  • Pip
  • 4 mensagens
  • HTC

Mensagem publicada 02 June 2013 - 22:17

Viva,

 

Como poderia criar um menu, sendo este constituído por 4 botões/imagens onde estes se ajustassem sempre, consoante o tamanho do dispositivo? Os botões devem também ajutas-se na horizontal e vertical.

 

Qual a melhor abordagem para este fim? Qual o tipo de layout recomendado? Sera' preferivel desenhar os "botões" no canvas, sendo tudo controlado programaticamente?

 

Em anexo esta um esquema elementar do layout pretendido, agradecia umas dicas!

 

cumprimentos!

Ficheiros Anexados


Editado por Algina, 02 June 2013 - 22:32.


#2 DNPereira

DNPereira

    Novato

  • Membros
  • Pip
  • 8 mensagens
  • HTC

Mensagem publicada 03 June 2013 - 13:44

podes usar uma gridview



#3 AloneAndSad

AloneAndSad

    Fã de Android

  • Membros
  • PipPipPip
  • 258 mensagens

Mensagem publicada 03 June 2013 - 21:52

A GridView pode ser uma hipótese mas também poderás recorrer a Layouts mais simples como os LinearLayouts.

 

Vê o exemplo seguinte (coloquei o 200 dp apenas para questões de teste, o valor deve ser subsituído por wrap_content ou match_parent)

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent">


    <LinearLayout
        android:orientation="vertical"
        android:layout_width="match_parent"
        android:layout_height="200dp">
        <LinearLayout
            android:orientation="horizontal"
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_weight="1">
            <Button
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_weight="1"
                android:text="Botão 1" />
            <Button
                    android:layout_width="0dp"
                    android:layout_height="match_parent"
                    android:layout_weight="1"
                    android:text="Botão 2" />

            </LinearLayout>
        <LinearLayout
                android:orientation="horizontal"
                android:layout_width="match_parent"
                android:layout_height="0dp"
                android:layout_weight="1">
            <Button
                    android:layout_width="0dp"
                    android:layout_height="match_parent"
                    android:layout_weight="1"
                    android:text="Botão 3" />
            <Button
                    android:layout_width="0dp"
                    android:layout_height="match_parent"
                    android:layout_weight="1"
                    android:text="Botão 4" />

        </LinearLayout>
        </LinearLayout>

</LinearLayout>

Cumps,


  • Algina gosta disto
Nokia 1100 :-p

#4 Algina

Algina

    Novato

  • Membros
  • Pip
  • 4 mensagens
  • HTC

Mensagem publicada 03 June 2013 - 23:02

Ola'

Obrigado pela dica! Funciona bem :)

 

Na verdade o que estou a tentar fazer, consiste num menu um pouco mais elaborado, pelo que não sei se será possível utilizar botões "normais". Talvez 'ImageButton'. Não sei como será possível criar um botão onde a sua forma não seja a de uma forma regular (Retangular/circular).

A imagem em anexo mostra o Layout pretendido.

E' possível criar um layout apenas com imagens/botões, onde cada um deles (5) possa lançar a sua própria atividade?

 

Obrigado pela dica anterior!

 

 

 

 

#5 AloneAndSad

AloneAndSad

    Fã de Android

  • Membros
  • PipPipPip
  • 258 mensagens

Mensagem publicada 04 June 2013 - 21:56

Sim é possível.

Tens que processar os "clicks" nas imagens ou botões através da definição de listeners para os eventos em causa ou usares o atributo onClick dos botões para indicares o método que deve ser chamado quando o botão é "clicado".

No processamento do evento tens que definir um intent para a classe correspondente à actividade pretendida e chamar a função startActivity com esse evento.

Intent intent=new Intent(this,OutraActividade.class);
startActivity(intent);

Não te esqueças de declarar as novas actividades no ficheiro de manifesto.


  • Algina gosta disto
Nokia 1100 :-p

#6 Algina

Algina

    Novato

  • Membros
  • Pip
  • 4 mensagens
  • HTC

Mensagem publicada 06 June 2013 - 15:47

Viva,

 

Obrigado mais uma vez pela tua preciosa ajuda!

Penso que a ideia que mencionas, refere-se a imagens (pngs) por mim criadas, que irão ser os botões (com formas especificas).

No entanto talvez haja uma outra maneira mais elaborada, que consiste em desenhar no canvas os botões/objetos que terão métodos que respondam as necessidades (onClick; etc). desta forma, os objectos poderiam desenhar-se sempre de modo a adaptar-se ao ecrã (de qualquer tamanho) sem perder resolução ou ficar "desfocado".

A ideia seria ter um "mini motor" que se pode-sem criar elementos/botoes e fosse fácil configura-los.

A minha experiência em Android não me permite dizer se esta opção será de facil implementação.

 

Que penas em desenhar objetos diretamente no canvas (DeviceContext)?

 

Obrigado pelas dicas, são valiosas!

Cumprimentos







Também marcado com uma ou mais destas tags: layout, menu, adjustar