2017-08-10 1 views
3

Ich habe kürzlich mein Android-Projekt auf SDK-Version 26 "aktualisiert", und jetzt die Symbole in meiner App-Leiste wie this aussehen (auf Android 6.0 ausgeführt), obwohl das Symbol selbst wie this aussieht. Ich habe keine Ahnung, warum das passiert, ich habe nichts im Java oder XML-Code geändert, der damit zu tun zu haben scheint. Ich würde mich sehr freuen, wenn jemand eine Lösung zu diesem Thema gepostet hätte, da dies ein größeres Problem sein könnte, sobald Android 8 veröffentlicht wird.Icons in Action-Leiste flach

build.gradle:

apply plugin: 'com.android.application' 

android { 
    compileSdkVersion 26 
    buildToolsVersion '26.0.1' 

    defaultConfig { 
     applicationId "de.jamesbeans.quadrasolve" 
     minSdkVersion 21 
     targetSdkVersion 26 
     versionCode 1 
     versionName "digit1.0" 
    } 
    buildTypes { 
     release { 
      minifyEnabled false 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
     } 
    } 
} 

dependencies { 
    compile fileTree(dir: 'libs', include: ['*.jar']) 
    testCompile 'junit:junit:4.12' 
    compile 'com.android.support:appcompat-v7:26.0.1' 
    compile 'com.android.support:percent:26.0.1' 
} 

relevanten Teil activity_main.xml:

<android.support.v7.widget.Toolbar 
    android:id="@+id/maintoolbar" 
    android:layout_width="match_parent" 
    android:layout_height="?attr/actionBarSize" 
    android:background="@color/colorPrimaryDark" 
    android:theme="@style/Widget.AppCompat.ActionBar" 
    android:visibility="visible" 
    app:popupTheme="@style/Theme.AppCompat.Light" 
    app:title="QuadraSolve" 
    app:titleTextColor="@android:color/background_light" /> 

relevanten Teil MainActivity.java:

Toolbar maintoolbar = (Toolbar) findViewById(R.id.maintoolbar); 
setSupportActionBar(maintoolbar); 

...

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    getMenuInflater().inflate(R.menu.mainmenu, menu); 
    return true; 
} 

mainmenu.xml:

<?xml version="1.0" encoding="utf-8"?> 
<menu xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto"> 
    <item 
     android:id="@+id/action_history" 
     android:icon="@mipmap/ic_history_48px" 
     android:title="@string/history" 
     app:showAsAction="ifRoom"> 
    </item> 
</menu> 
+0

Verhalten gewünschte Symbol nach dem Upgrade sdk Version verzerrt aussieht, Code: added erforderlichen Code –

+0

Haben Sie versucht, die Höhe Ihrer Attribut Einstellung? –

+0

Ich glaube nicht, dass es ein Höhenattribut gibt, zumindest kann ich kein [hier] finden (https://developer.android.com/guide/topics/resources/menu-resource.html). –

Antwort

0

hatte das gleiche Problem und über diese Antwort gestolpert, die das Problem behoben zu haben scheint:

https://stackoverflow.com/a/45344964/4579919

Es handelt sich darum, dass die Größe Symbol ist größer als erwartet. Offensichtlich hat sich der Skalierungsmechanismus in SDK 26 geändert und führt nun zu diesem UI-Fehler. Stellen Sie sicher, dass die Symbolleistensymbolressourcen in den folgenden Größen bereitgestellt werden. Symbol suchen normal, spezifisches Problem: