Chociaż dodanie widoku tekstu do paska narzędzi może rozwiązać problem ograniczenia stylu tytułowego, jest z tym problem. Ponieważ nie dodajemy go do układu, nie mamy zbyt dużej kontroli nad jego szerokością. Możemy użyć wrap_content lub match_parent.
Rozważmy teraz scenariusz, w którym mamy searchView jako przycisk na prawej krawędzi paska narzędzi. Jeśli zawartość tytułu jest większa, zostanie zasłonięty przycisk na górze. Nie ma sposobu na kontrolowanie tego braku ustawiania szerokości etykiety i jest to coś, czego nie chcesz robić, jeśli chcesz mieć responsywny projekt.
Oto rozwiązanie, które działało dla mnie i różni się nieco od dodania widoku tekstu do paska narzędzi. Zamiast tego dodaj pasek narzędzi i widok tekstu do względnego układu i upewnij się, że widok tekstu znajduje się na górze paska narzędzi. Następnie możemy użyć odpowiednich marginesów i upewnić się, że widok tekstu pokazuje się tam, gdzie chcemy.
Upewnij się, że ustawiłeś pasek narzędzi tak, aby nie wyświetlał tytułu.
Oto kod XML tego rozwiązania:
<RelativeLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?attr/colorPrimary">
<android.support.v7.widget.Toolbar
android:theme="@style/ThemeOverlay.AppCompat.Dark"
android:id="@+id/activity_toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
android:titleTextAppearance="@style/AppTheme.TitleTextView"
android:layout_marginRight="40dp"
android:layoutMode="clipBounds">
<android.support.v7.widget.SearchView
android:id="@+id/search_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="right"
android:layout_centerVertical="true"
android:layout_alignParentRight="true"
android:foregroundTint="@color/white" />
</android.support.v7.widget.Toolbar>
<TextView
android:id="@+id/toolbar_title"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginRight="90dp"
android:text="@string/app_name"
android:textSize="@dimen/title_text_size"
android:textColor="@color/white"
android:lines="1"
android:layout_marginLeft="72dp"
android:layout_centerVertical="true" />
</RelativeLayout>
Rozwiązuje problem @ ankur-chaudhary wspomniany powyżej.