Android: Linken Rand aus dem benutzerdefinierten Layout der Aktionsleiste entfernen

Ich verwende eine benutzerdefinierte Aktionsleistenansicht. Wie Sie im folgenden Screenshot sehen können, befindet sich in der Aktionsleiste ein leerer grauer Bereich. Ich möchte es entfernen.

Was habe ich gemacht

res / values-v11 / styles.xml

<style name="AppBaseTheme" parent="@style/Theme.AppCompat.Light">
        <item name="android:actionBarStyle">@style/ActionBarStyle</item>
        <item name="actionBarStyle">@style/ActionBarStyle</item>
</style>

res / values / my_custom_actionbar.xml

<resources xmlns:android="http://schemas.android.com/apk/res/android">
    <style name="ActionBarStyle" parent="@style/Widget.AppCompat.Light.ActionBar.Solid">
        <item name="android:height">60dp</item>
    </style>
</resources>

Manifes

<uses-sdk
        android:minSdkVersion="10"
        android:targetSdkVersion="19" />

<application
            android:icon="@drawable/ic_launcher"
            android:label="@string/AppName"
            android:theme="@style/AppBaseTheme" >
    <!-- activities... etc -->
</application>

Hauptaktivitä

public void onCreate(Bundle bundle) {
    super.onCreate(bundle);

    ActionBar actionbar = getSupportActionBar();

    actionbar.setDefaultDisplayHomeAsUpEnabled(false);
    actionbar.setDisplayHomeAsUpEnabled(false);
    actionbar.setDisplayShowCustomEnabled(true);
    actionbar.setDisplayShowHomeEnabled(false);
    actionbar.setDisplayShowTitleEnabled(false);
    actionbar.setDisplayUseLogoEnabled(false);
    actionbar.setHomeButtonEnabled(false);

    // Add the custom layout
    View view = LayoutInflater.from(this).inflate(R.layout.actionbar, null, false);
    actionbar.setCustomView(view);
}

Ich habe kürzlich einen Beitrag gefunden, der darauf hinweist, dass es ein Problem mit der neuesten Version gibt. Ich habe auch ADT und SDK auf Android 5 aktualisiert.

Android ActionBars benutzerdefinierte Ansicht füllt das übergeordnete Element nicht aus

Ich weiß nicht, was ich tun soll.

Edit (Teillösung):

Nicht auf Android <= API 10 arbeiten.

Android Lollipop, benutzerdefinierte AppCompat ActionBar-Ansicht nimmt nicht die gesamte Bildschirmbreite ein

Was habe ich geändert:

Verwenden Sie die neueste SDK-Version:

<uses-sdk
        android:minSdkVersion="10"
        android:targetSdkVersion="21" />

Füge hinzu eintoolbarStyle:

<style name="AppBaseTheme" parent="@style/Theme.AppCompat.Light">
        <item name="android:actionBarStyle">@style/ActionBarStyle</item>
        <item name="actionBarStyle">@style/ActionBarStyle</item>

        <item name="android:toolbarStyle">@style/ToolbarStyle</item>
        <item name="toolbarStyle">@style/ToolbarStyle</item>
</style>

<style name="ToolbarStyle" parent="@style/Widget.AppCompat.Toolbar">
    <item name="contentInsetStart">0dp</item>
    <item name="android:contentInsetStart">0dp</item>
</style>

Antworten auf die Frage(42)

Ihre Antwort auf die Frage