升级我的 compileSdkVersion、targetSdkVersion 和 Google 支持库后,appbar 上的图标在高度上被挤压。
然后在升级依赖项之前,所有图标都在正确的方面(平方),但是在升级我的项目依赖项之后,appbar 上的所有膨胀图标都被挤压在高度上。贝娄跟随升级之间的区别。
我还注意到只有当膨胀按钮从片段膨胀时才会发生挤压。
截图:
Android Studio 版本是 AS3 Cannary 8。
Gradle 的升级...
- 升级前(图标正确)
应用程序/build.gradle:
android {
compileSdkVersion 25
...
targetSdkVersion 25
....
}
ext.supportLibraryVersion = '25.4.0'
ext.playServicesLibraryVersion = '11.0.2'
dependencies {
// Android Support
implementation "com.android.support:appcompat-v7:$supportLibraryVersion"
implementation "com.android.support:design:$supportLibraryVersion"
implementation "com.android.support:support-v4:$supportLibraryVersion"
implementation "com.android.support:recyclerview-v7:$supportLibraryVersion"
implementation "com.android.support:cardview-v7:$supportLibraryVersion"
implementation 'com.android.support:multidex:1.0.1'
implementation "com.google.android.gms:play-services-gcm:$playServicesLibraryVersion"
implementation "com.google.firebase:firebase-appindexing:$playServicesLibraryVersion"
}
- 升级后(带有错误外观的图标)
应用程序/build.gradle:
android {
compileSdkVersion 26
...
targetSdkVersion 26
....
}
ext.supportLibraryVersion = '26.0.0'
ext.playServicesLibraryVersion = '11.0.4'
dependencies {
// Android Support
implementation "com.android.support:appcompat-v7:$supportLibraryVersion"
implementation "com.android.support:design:$supportLibraryVersion"
implementation "com.android.support:support-v4:$supportLibraryVersion"
implementation "com.android.support:recyclerview-v7:$supportLibraryVersion"
implementation "com.android.support:cardview-v7:$supportLibraryVersion"
implementation 'com.android.support:multidex:1.0.2'
implementation "com.google.android.gms:play-services-gcm:$playServicesLibraryVersion"
implementation "com.google.firebase:firebase-appindexing:$playServicesLibraryVersion"
}
appbar 上的布局膨胀:
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
tools:context=".activity.MainActivity">
<item
android:id="@+id/action_search"
android:icon="@drawable/search"
android:orderInCategory="125"
android:title="@string/search"
app:showAsAction="always" />
</menu>
将被膨胀的布局应用栏:
<android.support.design.widget.AppBarLayout
android:id="@+id/appbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/AppTheme.AppBarOverlay">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
app:layout_scrollFlags="scroll|enterAlways">
</android.support.v7.widget.Toolbar>
</android.support.design.widget.AppBarLayout>
放大上面的视图的代码:
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
super.onCreateOptionsMenu(menu, inflater);
inflater.inflate(R.menu.search_menu, menu);
}
关于这个问题的任何想法?这是一个错误还是我错过了什么?