Android studio 图标在操作栏中看起来是平面的
我最近将我的android项目“升级”到SDK版本26,现在我的应用程序栏中的图标看起来像(在android 6.0上运行),尽管图标本身看起来像。我不知道为什么会发生这种情况,我没有改变java或xml代码中与此相关的任何内容。 如果有人发布解决方案,我会非常高兴,因为一旦安卓8发布,这可能会是一个更大的问题 build.gradle:Android studio 图标在操作栏中看起来是平面的,android-studio,android-8.0-oreo,Android Studio,Android 8.0 Oreo,我最近将我的android项目“升级”到SDK版本26,现在我的应用程序栏中的图标看起来像(在android 6.0上运行),尽管图标本身看起来像。我不知道为什么会发生这种情况,我没有改变java或xml代码中与此相关的任何内容。 如果有人发布解决方案,我会非常高兴,因为一旦安卓8发布,这可能会是一个更大的问题 build.gradle: apply plugin: 'com.android.application' android { compileSdkVersion 26
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" />
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 26中的扩展机制已经改变,现在它导致了这个UI错误。确保工具栏图标资源的大小如下
期望的行为:图标看起来正常,具体问题:升级sdk版本后图标看起来扭曲,代码:添加了必要的代码您是否尝试设置属性的高度?我认为没有高度属性,至少我找不到。我在支持方面也有同样的问题:26.0.1。有没有解决这个问题的建议?我现在也有同样的问题,但不知道如何直接解决。使用25.0.2和26.0.1进行了测试,仅在26.0.1中针对自定义矢量可绘制的问题进行了测试。我的临时解决方案是使用谷歌通过Android Studio提供的Vector资产。
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.mainmenu, menu);
return true;
}
<?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>