2010-03-08 17 views
7

sto lavorando su tabilità.come impostare le schede nella parte inferiore dello schermo in Android?

voglio mostrare il mio tabwidget sotto il tabcontent (framelayout).

i done impostando l'attributo scheda tabwiget come

android:gravity="bottom" 

ma la framelayout smusso allineino con quelle schede.

Cioè le schede vengono visualizzate nella parte inferiore dello schermo e si sovrappongono l'framelayout

come fare? se si imposta un valore di altezza per il framelayout non ottimizzato per tutti gli schermi di Android. cosa posso fare? qualche idea???

+0

Si prega di trascorrere un paio di secondi per la ricerca di domande esistenti. Questa stessa domanda è stata posta * ieri *: http://stackoverflow.com/questions/2395661/android-tabs-at-the-bottom –

+0

Penso che il punto di Christopher fosse che se le persone non potevano rispondere alla domanda dell'altro, probabilmente non sarei in grado di rispondere al tuo neanche. In altre parole, non c'è bisogno di fare di nuovo la domanda, e invece dovresti provare a cercare altrove. –

+0

Dato che questa domanda è un duplicato, collegherò semplicemente alla mia risposta completa sull'altra domanda. [http://stackoverflow.com/questions/2395661/android-tabs-at-the-bottom/2710404#2710404](http://stackoverflow.com/questions/2395661/android-tabs-at-the-bottom/ 2710404 # 2710404) – stormin986

risposta

3

Esempi di Android per il salvataggio!

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

Proprio di swap tabcontent e schede in 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> 
+0

due pensano che devo dirti. 1. non funziona se non si imposta la gravità per il vostro tabwidget. 2. Quando l'altezza del framelayout del contenuto è maggiore dell'altezza dello schermo, il tabwidget perde la sua visibilità dallo schermo. per favore prova un esempio e fammi sapere. – Praveen

0

Verifica questo

<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> 

4

Il concetto alla base del Tab-Activity come segue

TabHost è un contenitore per una finestra di visualizzazione a schede. Questo oggetto contiene due figli: un set di etichette di schede che l'utente fa clic per selezionare una scheda specifica e un oggetto FrameLayout che visualizza il contenuto di quella pagina.

Il singolo elemento viene in genere controllato utilizzando questo oggetto contenitore, anziché impostare i valori sugli elementi figlio stessi.

TabWidget visualizza un elenco di etichette di schede che rappresentano ciascuna pagina nella raccolta di schede del genitore. L'oggetto contenitore per questo widget è TabHost. Quando un utente seleziona una scheda, questo oggetto invia un messaggio al contenitore, TabHost, per indicare di cambiare la pagina di visualizzazione. Il contenitore TabHost viene utilizzato per aggiungere etichette, aggiungere il gestore di callback e gestire i callback.

in modo da regolare il layout come segue -

<?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> 
0

Questo è il codice per la linguetta inferiore

<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" 
Problemi correlati