2017-08-10 6 views
3

私は最近AndroidプロジェクトをSDKバージョン26に「アップグレード」しました。アイコン自体はthisのように見えますが、アプリケーションバーのアイコンはthis(Android 6.0で実行)のように見えます。私はこれがなぜ起こっているのか分かりません。これに関連すると思われる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バグにつながります。ツールバーのアイコンリソースが次のサイズで提供されていることを確認します。

関連する問題