com.android.support:design:24.1.0在导航栏中无法正确显示

时间:2016-07-19 17:08:09

标签: android gradle build android-support-library

我已将我的依赖项更新为以下内容:

com.android.support:design:24.0.0 - > com.android.support:design:24.1.0 com.android.support:appcompat-v7:24.0.0 - > com.android.support:appcompat-v7:24.1.0

我还将版本工具更新到版本24.0.1。

然而,在那之后,我的导航抽屉看起来不太好,你可以在这里看到:

旧版本看起来像是:

你知道这个错误是什么,或者它是新标准吗?

感谢您的每一个回复。

1 个答案:

答案 0 :(得分:6)

似乎它是新的Android支持设计库中的一个错误,请检查AOSP问题跟踪器中的this thread,如上所述,检查项目背景存在错误 - 它使用colorPrimaryDark

在修复之前,我发现将来可能很难看,可能无关紧要,但简单的解决方法 - NavigationView使用colorPrimaryDark突出显示项目背景,所以我们可以将android:theme改为colorPrimaryDark覆盖到我们需要的那个,在我们的例子中它是灰色的。

所以,首先为您的styles.xml添加新款式:

<style name="NavigationViewGraySelectorTheme" parent="AppTheme">
    <!-- Extract this color to colors.xml -->
    <item name="colorPrimaryDark">#ddd</item>
</style>

然后只需在NavigationView小部件中使用它:

<android.support.design.widget.NavigationView
    android:id="@+id/nav_view"
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:layout_gravity="start"
    android:fitsSystemWindows="true"
    android:theme="@style/NavigationViewGraySelectorTheme"
    app:headerLayout="@layout/nav_header_main"
    app:itemIconTint="@color/nav_view_icon_color"
    app:itemTextColor="@color/nav_view_text_color"
    app:menu="@menu/activity_main_drawer"/>

<强>更新

正如Chris AOSP issue thread中提到的Chris Banes所述,该问题将通过支持库版本的 24.1.1 版本修复。