2017-08-10 47 views
3

我最近“升级”我的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> 
+0

所需的行为:图标寻找正常的,具体的问题:图标看上去升级SDK版本,代码之后扭曲:添加必要的代码 –

+0

您是否尝试过设置你属性的高度? –

+0

我不认为有一个高度属性,至少我找不到一个[这里](https://developer.android.com/guide/topics/resources/menu-resource.html)。 –

回答

0

有同样的问题和整个这个答案似乎已经解决了这一问题跌跌撞撞:

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

该事项的图标大小大于预期。很明显,SDK 26中的缩放机制已经发生了变化,现在它导致了这个UI错误。确保工具栏图标资源以下列尺寸提供。