2015-05-29 5 views
6

Sto cercando di creare una barra degli strumenti estesa personalizzata in Android con un testo di modifica nella barra degli strumenti. Il layout che voglio implementare simile a questaCreazione di una barra degli strumenti personalizzata in Android

enter image description here

Il codice che ho scritto per implementare è qualcosa di simile:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:app="http://schemas.android.com/apk/res-auto" 
xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity"> 

<android.support.v7.widget.Toolbar 
    android:id="@+id/my_awesome_toolbar" 
    android:layout_height="256dp" 
    android:layout_width="match_parent" 
    android:minHeight="?attr/actionBarSize" 
    android:background="?attr/colorPrimary" 

    > 

    <EditText 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:id="@+id/searchbox" 
     android:layout_alignParentBottom="true" 
     android:text="Test" 
     android:background="#ffffff" 
     /> 

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

e l'attività ha la seguente codice

protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    Toolbar toolbar = (Toolbar) findViewById(R.id.my_awesome_toolbar); 
    if (toolbar != null) { 
     setSupportActionBar(toolbar); 
     getSupportActionBar().setDisplayShowTitleEnabled(false); 
     getSupportActionBar().setDisplayShowHomeEnabled(false); 
    }} 

Ma w Ho ottenuto invece questo: enter image description here

Non ci sono molti tutorial sulla personalizzazione della barra degli strumenti estesa, quindi apprezzeremmo davvero qualche aiuto.

+0

Forse questo può aiutare: http://stackoverflow.com/questions/31231609/creating -a-button-in-android-toolbar/31477092 # 31477092 – Machado

risposta

2

penso che solo bisogno di aggiungere gravità = "bottom" delle impostazioni della barra degli strumenti come:

<android.support.v7.widget.Toolbar 
    android:id="@+id/my_awesome_toolbar" 
    android:gravity="bottom" 
    android:layout_height="256dp" 
    android:layout_width="match_parent" 
    android:minHeight="?attr/actionBarSize" 
    android:background="?attr/colorPrimary"> 

ho dovuto aggiungere un po 'di margine per la parte inferiore del layout per ottenere la modifica di apparire ma che dovrebbe ottenere il testo in fondo alla modifica.

Oppure puoi impostare layout_gravity su EditText.

 <EditText 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:layout_marginBottom="16dp" 
     android:layout_gravity="bottom" 
     android:id="@+id/searchbox" 
     android:text="Test" 
     android:background="#ffffff"/> 

Sono sorpreso liste allineateParentBottom. Non credo che Toolbar erediti da RelativeLayout.

Edit - Ecco il mio layout completo:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
      xmlns:tools="http://schemas.android.com/tools" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      tools:context=".MainActivity"> 

<android.support.v7.widget.Toolbar 
    android:id="@+id/my_awesome_toolbar" 
    android:layout_height="264dp" 
    android:layout_width="match_parent" 
    android:layout_alignParentBottom="true" 
    android:minHeight="?attr/actionBarSize" 
    android:background="?attr/colorPrimary"> 

    <EditText 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:layout_marginBottom="16dp" 
     android:layout_gravity="bottom" 
     android:id="@+id/searchbox" 
     android:text="Test" 
     android:background="#ffffff"/> 
</android.support.v7.widget.Toolbar> 
</RelativeLayout> 

che si traduce in questo:

ToolBar

+0

Ho provato anche con quello. Lo mostra in un modo strano. Puoi vedere i risultati in questo screenshot- https://dl.pushbulletusercontent.com/LKPBxwLnZez8neMwpuaNZXMmjTWbiDyO/Screenshot_2015-05-29-22-29-05.png Inoltre, il problema è anche che la larghezza non è correttamente allineata su entrambi i lati del testo di modifica. –

+0

Questo problema è stato rilevato da più persone: http://stackoverflow.com/questions/27007985/support-toolbars-custom-view-not-using-full-width http://stackoverflow.com/questions/29239254/extended -toolbar-with-custom-view-not-display-with-full-width Non si vede una soluzione chiara ad esso però. –

+0

http://stackoverflow.com/a/29648396/1268021 Sembra risolverlo. –