图标在行动栏中看起来平坦

时间:2017-08-10 10:43:41

标签: android-studio android-8.0-oreo

我最近已升级"我的Android项目到SDK版本26,现在我的应用栏中的图标看起来像this(在Android 6.0上运行),虽然图标本身看起来像this。我不知道为什么会这样,我没有改变java或xml代码中似乎与此相关的任何内容。 如果有人发布了解决方案,我将非常高兴,因为一旦Android 8发布,这可能是一个更大的问题。

的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'
}

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" />

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>

1 个答案:

答案 0 :(得分:0)

遇到同样的问题并偶然发现了这个似乎解决了问题的答案:

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

  

问题是图标大小比预期大。显然,SDK 26中的扩展机制已经改变,现在它导致了这个UI错误。确保以下列大小提供工具栏图标资源。