2015-05-01 22 views
14

mio Toolbar e EditText simile a questa:Aggiungi EditText alla barra degli strumenti

enter image description here

Ho provato ad aggiungere come un ActionView ma ho ottenuto questo risultato:

enter image description here

E 'fondamentalmente solo aggiunto le mie parole "tocca sotto" come titolo senza lo TextView

Ecco quello che ho fatto:

menu.xml

<menu> 
    ... 
    ... 
    <item 
     android:id="@+id/edit_text_menu" 
     android:orderInCategory="300" 
     android:title="Tap Below" 
     android:actionLayout="@layout/edit_text_layout" 
     app:showAsAction="ifRoom|collapseActionView" 
     /> 
</menu> 

edit_text_layout.xml

<?xml version="1.0" encoding="utf-8"?> 
<EditText xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:id="@+id/myEditText" 
    android:background="#000000"> 

</EditText> 

ho pensato che facendo questo aggiungo il mio layout EditText al Toolbar ... Can qualcuno per favore aiuto?

In alternativa, esiste un trucco in cui è possibile sovrapporre lo EditText allo Toolbar?

Ho provato ad aggiungere <item name="windowActionModeOverlay">true</item> ma non ha fatto nulla.

+2

Basta aggiungere il 'EditText' al XML per il' ToolBar'. Questo è probabilmente il modo più semplice. –

+0

Funziona alla grande! Ma come mai non lo aggiunge come voce di menu attraverso il mio codice? – user2456977

+0

Il menu è per il "Menu Opzioni". È diverso. Vedi qui: http://developer.android.com/guide/topics/ui/menus.html#options-menu. –

risposta

26

Basta aggiungere lo EditText all'XML per il ToolBar. Questo è probabilmente il modo più semplice.

<android.support.v7.widget.Toolbar 
    android:id="@+id/toolbar" 
    android:layout_width="match_parent" 
    android:layout_height="?attr/actionBarSize" 
    android:background="?attr/colorPrimary" 
    android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" 
    app:popupTheme="@style/ThemeOverlay.AppCompat.Light"> 
     <EditText 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:id="@+id/myEditText" 
     android:background="#000000" /> 
</android.support.v7.widget.Toolbar> 
+0

l'ultima riga dovrebbe essere corretta in –

+2

@OmidAminiva Grazie! La prossima volta invia un 'edit'. –

+0

Perché è stato downvoted? Questo funziona. –

6
  1. Aggiungere il EditText alla barra degli strumenti xml.

  2. Aggiungere Toolbar al layout Activity's xml, nella parte superiore.

  3. Impostare la barra degli strumenti come ActionBar:

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
        super.onCreate(savedInstanceState); 
        setContentView(R.layout.activity_main); 
        Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); 
        setSupportActionBar(toolbar); 
    } 
    

questo renderà la barra degli strumenti "diventare" la ActionBar con EditText all'interno.

+0

come accediamo a edittext in attività? –

0

codice Usa belove

 <android.support.v7.widget.Toolbar 
     android:id="@+id/toolbar" 
     app:titleTextColor="@color/colorAccent" 
     app:theme="@style/ToolbarColoredBackArrow" 
     app:subtitleTextColor="@color/colorAccent" 
     android:layout_width="match_parent" 
     android:layout_height="?attr/actionBarSize" 
     android:background="?attr/colorPrimary" 
     app:popupTheme="@style/AppTheme.PopupOverlay"> 

     <TextView 
      android:textColor="@color/colorAccent" 
      android:text="June 14" 
      android:textAllCaps="true" 
      android:layout_gravity="right" 
      android:layout_marginRight="11dp" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:id="@+id/tv_daily" /> 

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