私は最近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>
希望の動作:アイコン探し通常、特定の問題:アイコンはSDKのバージョン、コードのアップグレード後に歪んで見えます:追加必要なコード –
を、あなたの- 属性の高さを設定しようとしたことがありますか? –
身長の属性がないと思いますが、少なくとも私は[ここ](https://developer.android.com/guide/topics/resources/menu-resource.html)を見つけることができません。 –