Wie center-Symbolleiste Schaltfläche zurück?
Ich habe ein problem versuchen zu zentrieren, die Taste "zurück" auf der support-Symbolleiste.
Ich verwende es innerhalb eines ActionBarActivity.
<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:toolbar="http://schemas.android.com/apk/res-auto"
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?attr/colorPrimary"
android:minHeight="?attr/actionBarSize"
toolbar:popupTheme="@style/ThemeOverlay.AppCompat.Light"
toolbar:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" />
Und legen Sie die up-Navigations-innen der Aktivität onCreate()
wie diese:
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
getSupportActionBar().setTitle(R.string.title_activity_scanner);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
Aber was ich bekomme ist diese:
Wie Sie sehen können die zurück-Taste ist fehl am Platz
Bearbeiten:
Das problem scheint zu liegen in einem benutzerdefinierten Wert für ?attr/actionBarSize
eingestellt 40dp, jedoch, es stellt sich jetzt heraus, dass es ist der Titel, der ist fehl am Platz, statt.
- Einer der handeln ich denke, deaktivieren Sie die zurück-Taste und setzen Sie einen button widget innerhalb und richten Sie es wie Sie wollen. Hoffe, es hilft!!!
- können Sie entfernen minHeight-tag und fügen Höhe "?attr/actionBarSize" statt "wrap_content"
- Ich möchte vermeiden, die Wiederentdeckung des Rades, wenn möglich
- bitte überprüfen Sie aktualisierte Frage, es ist tatsächlich der Titel, stellen Sie die Symbolleiste wachsen, aber der zurück-button sollte sich, so gut
InformationsquelleAutor mewa | 2015-04-27
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Aus der developer.android.com :
Also wenn Ihr minHeight - Attribut die gleiche wie Ihre Symbolleiste Höhe (layout_height ), der zurück-Pfeil wird vertikal zentriert.
toolbar:theme
also mein problem wurde gelöst durch das entfernen<item name="android:actionBarSize">@android:/abc_action_bar_stacked_max_height</item>
aus meinertoolbar's theme
maxButtonHeight
gleichandroid:minHeight
eine vertikale Zentrierung-Effekt. Nach der v7 version >=24+,können wir attrbuttonGravity
.android:minHeight="@null"
zu kündigen, die für dieminHeight
aus der Symbolleiste Stilstyle="@style/Widget.MaterialComponents.Toolbar"
Innen ActionBarActivity
Layout-code :
Und Stil :
Denken Sie daran, dass die Symbolleiste ist nur viewgroup, so kann u Stil in irgendeiner Weise u wie.
Hier ist Bild-link : Symbolleiste-Beispiel
Hoffe, es hilft.
Beste Weg, dies zu erreichen ist, entfernen Sie regelmäßig Zurück-Taste aus der Symbolleiste, und fügen Sie eine benutzerdefinierte ImageButton in Ihrer XML-layout-und Satz-Bild zu. Sie können diese ImageButtton, wo immer Sie wollen auf der Symbolleiste.
Ihrer Tätigkeit layout-code sollte so etwas wie dieses.
Für mich, keine der Lösungen hat funktioniert. In meinem Fall das problem war die Marge, die ich angewendet:
Nach der Anwendung auf der Symbolleiste direkt, wurde die Schaltfläche vertikal zentriert:
Huckepack aus der @Rick Sanchez Antwort - wenn Sie wissen, die Größe der Symbolleiste
minHeight
Attribut, das Sie dann verwenden können:in der Symbolleiste auf zentriert den text. Wenn Sie mit
android:minHeight="?actionBarSize"
dann wäre dies über 13p@Rick Sanchez beantworten, ist die Arbeit,setup-Symbolleiste layout_height das gleiche wie minHeight
Fand ich in der Symbolleiste Konstruktor haben kann ein Feld setup-Taste Schwerkraft,
mButtonGravity = a.getInteger(R.styleable.Toolbar_buttonGravity, Gravity.TOP);
,aber v7-support-Symbolleiste kann nicht setup,
mButtonGravity = Gravity.TOP;
machen Sie Ihre Schaltfläche Größe
56dp
- und set -scaleType
zucenter
mit keine Ränder aufAppbar
Stellen Sie sicher, dass Ihr Symbol ist
24x24
Abmessungen