2015-05-05 11 views
11

Sample ToolbarIl modo migliore per creare una barra degli strumenti in basso in Android.

Alla ricerca di un buon approccio per ottenere una barra degli strumenti simile. Dovrei usare i pulsanti immagine ??

+1

quello con i premi e le opportunità? Barra degli strumenti è un gruppo di viste in cui puoi mettere i tuoi imageButton all'interno e dare loro la gravità – Elltz

+0

Sì. Ho provato a utilizzare la barra degli strumenti, ma non ho potuto ottenere risultati simili –

+0

Grazie Elltz, ho avuto successo usando il tuo approccio. Ho dovuto usare i pulsanti con la parte superiore disegnabile invece di ImageButtons e dovevo usare anche toolbar.setContentInsetsAbsolute (0,0); per impostare correttamente le viste interne. –

risposta

12
<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:app="http://schemas.android.com/apk/res-auto" 
android:id="@+id/actionbarT" 
android:layout_width="match_parent" 
android:layout_height="wrap_content" 
android:background="@drawable/thebackgroundimageyouwant" 
android:minHeight="?attr/actionBarSize" 
app:theme="@style/Base.Theme.AppCompat.CompactMenu" > 

    <LinearLayout 
     android:id="@+id/toolbarmenucontainer" 
     android:layout_width="match_parent" 
     android:weightSum="3" 
     android:layout_height="match_parent" 
     android:orientation="horizontal" > 

     <ImageButton 
      android:layout_width="0dp" 
      android:layout_height="match_parent" 
      android:background="@drawable/preferedbackground" 
      android:clickable="true" 
      android:scaleType="fitXY" 
      android:weight = "1" 
      android:src="@drawable/preferredimage" /> 

     <ImageButton 
      android:layout_width="0dp" 
      android:layout_height="match_parent" 
      android:background="@drawable/preferedbackground" 
      android:clickable="true" 
      android:scaleType="fitXY" 
      android:weight = "1" 
      android:src="@drawable/preferredimage" /> 

     <ImageButton 
      android:layout_width="0dp" 
      android:layout_height="match_parent" 
      android:background="@drawable/preferedbackground" 
      android:clickable="true" 
      android:scaleType="fitXY" 
      android:weight = "1" 
      android:src="@drawable/preferredimage" /> 

    </LinearLayout> 

</android.support.v7.widget.Toolbar> 

l'idea è metteranno in orizzontale, come quello che si desidera, anche allora non fare ToolBar.setTitle() o setnagivation sul ToolBar anche che non è necessario aggiungere optionsMenu ad esso. quindi sarà nudo come quello che vuoi.

provare e vedere se si adatta il vostro requisito, ricordarsi di aggiungere lo src sfondo e immagine al ImageButton s

+0

Ma come cambiare immagine grammaticamente? Si prega di fornire il suggerimento –

+0

il 'ImageButton' nella barra degli strumenti? puoi aggiungere id per 'ImageButton' e ottenere un riferimento ad esso da' Toolbar.findViewById() ', quindi puoi modificare l'immagine di ImageButton in modo grammaticale (: - Voglio dire a livello di codice, spero che aiuti sir – Elltz

+0

Sì, lo è utile e ho trovato la soluzione per questo –

0

Beh, l'ultima volta che ho provato a fare questo ho usato Button s sul fondo del Layout avvolto da un LinearLayout, qualcosa di simile:

<LinearLayout> 
// The other stuff on the view 
(...) 
</LinearLayout> 
// (This is the part you can try to use as a toolbar) 
<LinearLayout 
    android:orientation="horizontal" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content"> 

    <Button 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="bottom" 
     style="?android:attr/borderlessButtonStyle" 
     android:textStyle="bold" 
     android:background="@drawable/button_tab" 
     android:textColor="#ffffffff" 
     android:text="@string/bt_orders" 
     android:id="@+id/bt_orders" 
     android:layout_weight="1" /> 

    <Button 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="bottom" 
     style="?android:attr/borderlessButtonStyle" 
     android:textStyle="bold" 
     android:background="@drawable/button_tab" 
     android:textColor="#ffffffff" 
     android:text="@string/bt_credit" 
     android:id="@+id/bt_credit" 
     android:layout_weight="1" /> 
</LinearLayout> 

e se siete curiosi di sapere lo stile e lo sfondo che ho usato, eccolo:

// button_tab.xml 
<?xml version="1.0" encoding="utf-8"?> 

<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:state_pressed="true"> 
     <shape android:shape="rectangle"> 
      <stroke 
       android:width="1dp" 
       android:color="@color/button_pressed" /> 
      <solid android:color="@color/button_pressed" /> 
     </shape> 
    </item> 
    <item android:state_focused="true" > 
     <shape android:shape="rectangle"> 
      <stroke 
       android:width="1dp" 
       android:color="@color/button_focus" /> 
      <solid android:color="@color/button_focus" /> 
     </shape> 
    </item> 
    <item> 
     <shape android:shape="rectangle"> 
      <stroke 
       android:width="1dp" 
       android:color="@color/button_normal" /> 
      <solid android:color="@color/button_normal" /> 
     </shape> 
    </item> 
</selector> 
1

Sono venuto a questa domanda qualche tempo indietro. Non ero in grado di aggiungere del testo sotto i pulsanti. Ho scritto un articolo su come ho risolto il problema con lo snippet di codice e lo screenshot here, create goolge plus like toolbar in android

3

So che questa domanda è super vecchia, ma immagino che non sia mai troppo tardi per rispondere agli altri popoli che cercano la stessa cosa. Ho appena trovato this tutorial e these official docs sull'argomento, ora che le nav di base sono ufficialmente supportate da Android e fanno parte delle linee guida sul design dei materiali se la tua app ha da 3 a 5 posizioni di navigazione di primo livello. Spero che questo aiuti qualcun altro, perché ho passato un bel po 'di tempo a cercarlo.

+1

Grazie per i link, sapevo che Android aveva il supporto per la barra degli strumenti Bottom ma non ho potuto trovarlo facilmente. – se22as

Problemi correlati