Pergunta

Estou trabalhando no TabActivity.

Eu quero mostrar meu tabwidget abaixo do tabcontent (Framelayout).

Eu fiz isso definindo o atributo da guia Tabwiget como

android:gravity="bottom"

Mas o Framelayout não pode se alinhar com essas guias.

Essas são as guias são mostradas na parte inferior da tela e se sobrepõem ao Framelayout

Como fazer isso? Se definir algum valor de altura para o Framelayout, ele não é otimizado para todas as telas do Android. O que posso fazer? qualquer ideia???

Foi útil?

Solução

ou apenas use um personalizado de:http://code.google.com/p/androidtabs/

Permite guias no fundo

Outras dicas

O conceito básico por trás do Tab-Activity do seguinte modo

TabHost é um contêiner para uma visualização de janela com guias. Este objeto contém duas crianças: um conjunto de etiquetas de guias que o usuário clica para selecionar a guia específica e um objeto Framelayout que exibe o conteúdo dessa página.

O elemento individual é normalmente controlado usando esse objeto de contêiner, em vez de definir valores nos próprios elementos filhos.

TabWidget Exibe uma lista de etiquetas de guias representando cada página na coleção de guias dos pais. O objeto de contêiner para este widget é Tabhost. Quando um usuário seleciona uma guia, esse objeto envia uma mensagem para o contêiner, tabhost, para dizer para alternar a página de exibição. O Tabhost do contêiner é usado para adicionar rótulos, adicionar o manipulador de retorno de chamada e gerenciar retornos de chamada.

Então ajuste seu layout da seguinte maneira -

<?xml version="1.0" encoding="utf-8"?>
<TabHost xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/tabhost"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >

<LinearLayout
    android:id="@+id/linearLayout1"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <FrameLayout
        android:id="@android:id/tabcontent"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_weight="1" >
    </FrameLayout>

    <TabWidget
        android:id="@android:id/tabs"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_marginBottom="-3dip"
        android:layout_weight="0" >
    </TabWidget>
  </LinearLayout>

  </TabHost>

Exemplos do Android para o resgate!

http://developer.android.com/resources/tutorials/views/hello-tabwidget.html

Basta trocar o TabContent e as guias em res/layout/main.xml:

   <LinearLayout
        android:orientation="vertical"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:padding="5dp">
   <FrameLayout
            android:id="@android:id/tabcontent"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:padding="5dp" />        
   <TabWidget
            android:id="@android:id/tabs"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content" />

   </LinearLayout>

Por favor, verifique o seguinte link

Existem duas maneiras de exibir guias na parte inferior de uma atividade de guia.

1) Usando o layout relativo 2) usando o atributo layout_weight

http://justkumar.blogspot.com/2011/09/tabs-at-bottom-of-tabactivity-by.html

Verifique isso

<TabHost xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent" 
android:id="@android:id/tabhost">
<LinearLayout android:id="@+id/LinearLayout01"
android:orientation="vertical" 
android:layout_height="fill_parent"
android:layout_width="fill_parent">

<FrameLayout
android:id="@android:id/tabcontent"
android:layout_height="fill_parent"
android:layout_width="fill_parent">

    <TabWidget 
android:layout_height="wrap_content" 
android:layout_width="fill_parent" 
android:layout_gravity="bottom" 
android:id="@android:id/tabs">
</TabWidget>
</FrameLayout>

</LinearLayout>

este é o código para a guia inferior

<TabWidget
android:layout_width="fill_parent"
android:layout_height="60dp"
android:layout_gravity="bottom" 
android:background="#0000"
android:id="@android:id/tabs"
/>



  "android:layout_gravity="bottom" 
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top