2015-02-27 17 views
6

Próbuję wyświetlić zarówno tytuł, używając setTitle i niestandardowy widok na moim pasku narzędzi.Tytuł paska narzędzi z widokiem niestandardowym

Nie traktuję tego jako paska czynności, zamiast jako nic więcej niż widok.

dodaję oba tytuły i własny pogląd w Javie

toolbar = (Toolbar) view.findViewById(R.id.toolbar); 

    if (title != null) { 
     toolbar.setTitle(title); 
     toolbar.setTitleTextColor(getResources().getColor(android.R.color.white)); 
    } 

    if (subtitle != null) { 
     toolbar.setSubtitle(subtitle); 
     toolbar.setSubtitleTextColor(getResources().getColor(android.R.color.white)); 
    } 

    // Add switch view to toolbar 
    View switchView = LayoutInflater.from(getActivity()) 
      .inflate(R.layout.device_list_switch, null); 
    toolbar.addView(switchView); 

XML za moim zdaniem przełącznika jest

<RelativeLayout 
xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:background="@android:color/holo_blue_bright"> 


<TextView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignBottom="@+id/discoverable" 
    android:layout_alignParentBottom="true" 
    android:layout_alignTop="@+id/discoverable" 
    android:layout_toLeftOf="@+id/discoverable" 
    android:layout_toStartOf="@+id/discoverable" 
    android:gravity="center" 
    android:text="@string/discoverable_switch_label" 
    android:textColor="@android:color/white" 
    /> 

<Switch 
    android:id="@+id/discoverable" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentBottom="true" 
    android:layout_alignParentEnd="true" 
    android:layout_alignParentRight="true" 
    android:layout_marginLeft="@dimen/discoverable_switch_margin_left" 
    android:layout_marginStart="@dimen/discoverable_switch_margin_left"/> 

</RelativeLayout> 

Co się dzieje, że RelativeLayout wypełnia cały obszar paska narzędzi i tytuł nie jest widoczny.

Wszelkie pomysły?

Odpowiedz

-1

Jeśli nie używasz paska narzędzi jako paska akcji, być może możesz po prostu użyć układu.

Użyłem liniowego paska zamiast paska narzędzi.

Jakie korzyści daje Toolbar?

+1

To jest świetna propozycja. Chociaż korzystanie z paska narzędzi pozwala mi z łatwością nadmuchać menu – Stephen

+1

Menu Menu inLaterInflater = next MenuInflater (kontekst); MenuInflater.inflate (R.menu.main, menu); – MikeWallaceDev

0

Można to rozwiązać, dodając własny tytuł (i podtytuł, jeśli jest to potrzebne) widoków tekstowych na pasku narzędzi obok niestandardowego widoku.

Być może lepszym sposobem jest użycie drugiego paska narzędzi zagnieżdżonego w pierwszym. W ten sposób zadbasz o wszystkie formatowanie.

<android.support.v7.widget.Toolbar xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:id="@+id/topToolbar" 
    android:layout_alignParentTop="true" 
    android:layout_height="wrap_content" 
    android:layout_width="match_parent"> 

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:orientation="horizontal"> 

     <android.support.v7.widget.Toolbar xmlns:app="http://schemas.android.com/apk/res-auto" 
      android:id="@+id/titleToolbar" 
      android:layout_width="wrap_content" 
      android:layout_height="match_parent" 
      app:contentInsetStart="0dp" 
      app:contentInsetLeft="0dp"> 
     </android.support.v7.widget.Toolbar> 

     <CustomView... /> 

    </LinearLayout> 

</android.support.v7.widget.Toolbar> 
Powiązane problemy