2013-09-22 23 views
5

Ho cercato per circa un giorno un modo per ottenere la mia applicazione Android hanno schede nella parte inferiore dello schermo.Android - Schede nella parte inferiore dello schermo

Sul sito dello sviluppatore Android nella sezione stili e temi, sembrano avere l'esempio esatto di quello che sto cercando di fare, ma non hanno trovato la necessità di fornire un esempio decente di questo:

enter image description here

Tutti i suggerimenti/soluzioni che trovo sul web non funzionano. Ho sempre sembrano avere il seguente schema testa a testa brutta, dove le schede sono molto fuori luogo nella parte superiore dello schermo, accanto al nome dell'applicazione :-(

enter image description here

Qualcuno ha idea di come per ottenere questo risultato?

Grazie mille in anticipo per eventuali suggerimenti

+0

che non sono le schede, ma un ActionBar scissione. Puoi leggere ulteriori informazioni al riguardo nella Guida per gli sviluppatori Android (http://developer.android.com/guide/topics/ui/actionbar.html). – Ridcully

+0

@Wesley, Questa è una funzionalità di visualizzazione della 'Barra azioni divise'. Puoi trovare qualche buon esempio. Devi definire l'attributo in 'Android Manifest'. –

risposta

11

credo che questi esempi saranno utili a voi: E Android Bottom tab bar exampleTHIS

+5

Sebbene ciò possa teoricamente rispondere alla domanda, [sarebbe preferibile] (http://meta.stackoverflow.com/q/8259) includere qui le parti essenziali della risposta e fornire il link per riferimento. – Keelan

1

Penso che non hai cercare abbastanza per il vostro problema, perché si sta cercando utilizzando la parola chiave sbagliata.

Cosa si sta mostrando prima immagine in in fondo Gmail ci sono 4 menu e menu di overflow 5 e superiore al bar di azione top

È possibile inserire un menu in basso utilizzando una semplice proprietà nel manifesto; una singola linea sull'attività principale che mostrando barra delle operazioni

android:uiOptions="splitActionBarWhenNarrow"

Ti piace questa:

<activity 
    android:name="com.example.HomeActivity" 
    android:screenOrientation="portrait" 
     android:uiOptions="splitActionBarWhenNarrow" 
    android:theme="@style/Theme.Sherlock.Light" > 
    <intent-filter> 
     <action android:name="android.intent.action.MAIN" /> 

     <category android:name="android.intent.category.LAUNCHER" /> 
    </intent-filter> 
</activity> 
0

E 'molto semplice ....

Per semplice barra delle schede che usiamo

<?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:orientation="vertical" 
     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" /> 
     <FrameLayout 
      android:id="@android:id/tabcontent" 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" 
      android:padding="5dp" /> 
    </LinearLayout> 
</TabHost> 

Ma nel bar Tab fondo usiamo

**

<?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"> 
    <RelativeLayout 
     android:layout_height="fill_parent" 
     android:layout_width="fill_parent"> 
     <TabWidget 
      android:id="@android:id/tabs" 
      android:layout_alignParentBottom="true" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" /> 
     <FrameLayout 
      android:id="@android:id/tabcontent" 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" 
      android:padding="5dp" /> 
    </RelativeLayout> 
</TabHost>** 

La cosa principale è

android:layout_alignParentBottom=”true”; 
1

io uso questo layout per individuare le schede in bo ttom di schermo:

?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="match_parent" 
    android:layout_height="match_parent"> 

    <LinearLayout 
     android:orientation="vertical" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent"> 

     <FrameLayout 
      android:id="@android:id/tabcontent" 
      android:layout_width="0dp" 
      android:layout_height="0dp" 
      android:layout_weight="0"/> 
     <FrameLayout 
      android:id="@+android:id/realtabcontent" 
      android:background="@drawable/bg_main_app_gradient" 
      android:layout_width="match_parent" 
      android:layout_height="0dp" 
      android:layout_weight="1"/> 
     <TabWidget 
      android:id="@android:id/tabs" 
      android:background="#EAE7E1" 
      android:orientation="horizontal" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_weight="0"/> 
    </LinearLayout> 
</TabHost> 

examle di codice: https://stackoverflow.com/a/23150258/2765497

0

mi sono imbattuto tua domanda cercando di fare la stessa cosa, ma in base alle linee guida di sviluppo androidi, non si dovrebbe mai avere una barra delle schede in basso , dal momento che questa è una caratteristica di iOS ...

Android Development Standards

+0

La cosa divertente è che la loro app di Gmail era utilizzata per avere menu in basso. – Han

0

Lei sembra avere la barra inferiore un po 'confuso. Questa non è una barra delle linguette. La barra in basso è per le azioni, non per gli schermi di navigazione. Ad esempio, nello screenshot dell'app Gmail hai postato sopra, la barra inferiore permette all'utente di: Componi e-mail, ricerca, Tag, Aggiorna e Altro. Vedere:

Tecnicamente questi pulsanti consentono all'utente di passare ad altre schermate ma, la barra delle schede viene solitamente utilizzata per "passare" alle schermate. Ad esempio, visualizzare i contenuti per categoria.

Hmm, ma nella sua ultima versione dell'app Gmail hanno questi pulsanti di azione sulla parte superiore. Sigh ...

+0

Mentre questo link può rispondere alla domanda, è meglio includere qui le parti essenziali della risposta e fornire il link per riferimento. Le risposte di solo collegamento possono diventare non valide se la pagina collegata cambia. –

+0

Grazie per il suggerimento. Il collegamento è solo per riferimento. – Vasim

1

Google non raccomandare di avere schede nella parte inferiore.

vedere il seguente guida ufficiale design pattern da Android,
e cercare la sezione di "Non utilizzare barre linguetta inferiore"

http://developer.android.com/design/patterns/pure-android.html

+0

no, mentre questo è raccomandato da Android/Google, questo sembra davvero ridicolo per i progettisti di layout. Dopotutto, usare le schede non è poi così male. – Raptor

+5

L'ultima app di Google+ ha schede nella parte inferiore dello schermo, esattamente nel modo in cui il documento dice che non dovrebbe essere usato. – moyheen

+3

http://www.theverge.com/2016/3/15/11236152/material-design-update-bottom-navigation-bar –

1

volevo postare un aggiornamento qui. Bottom nav bars are now Android Canon. I principali take-away da questo sono:

1) utilizzare le barre nav inferiori solo per 3-5 icone. Altre meno, utilizzare tabs. Ancora, usa le linguette scorrevoli (pagina in basso sullo stesso link).

2) Evitare l'uso di una barra di navigazione in basso e le schede insieme, ed essere sicuri le responsabilità di entrambi sono chiaramente separati se si fa.

3) bar nav inferiori devono essere utilizzati per la navigazione non azioni (utilizzare il ActionBar per coloro)

Problemi correlati