3

升级我的 compileSdkVersion、targetSdkVersion 和 Google 支持库后,appbar 上的图标在高度上被挤压。

然后在升级依赖项之前,所有图标都在正确的方面(平方),但是在升级我的项目依赖项之后,appbar 上的所有膨胀图标都被挤压在高度上。贝娄跟随升级之间的区别。

我还注意到只有当膨胀按钮从片段膨胀时才会发生挤压。

截图:

升级前搜索图标OK

升级后搜索图标在高度上被挤压

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);
}

关于这个问题的任何想法?这是一个错误还是我错过了什么?

4

0 回答 0