Я разрабатываю с использованием последней версии SDK (API 21) и библиотеки поддержки 21.0.2, и у меня возникли проблемы при попытке реализовать новые рекомендации по материальному дизайну.
Материальный дизайн говорит, что мне нужно иметь мои primary color
и мои accent color
и применить их к моему приложению. Но иногда, когда я открываю приложение, primary color
становится прозрачным в некоторых виджетах, он возвращается в нормальное состояние, пока я не закрою приложение (с помощью кнопки «Назад») и не запущу его снова.
Вот пример прозрачности primary color
на моей панели инструментов.
Я использую Teal 500 в качестве основного цвета, и, как видите, он прозрачен только в android.support.v7.widget.Toolbar
. Это также происходит с моим Navigation Drawer
и (иногда, иногда нет) с другими случайными виджетами.
Это моя панель инструментов
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/primary"
android:minHeight="?attr/actionBarSize"
app:theme="@style/ThemeOverlay.AppCompat.ActionBar" >
Я пробовал с @color/primary
и ?attr/colorPrimary
безуспешно.
Вот мой Theme
(не знаю, связано ли это, но на всякий случай):
<style name="AppBaseTheme" parent="Theme.AppCompat.Light.NoActionBar">
<item name="colorPrimary">@color/primary</item>
<item name="colorPrimaryDark">@color/primary_dark</item>
<item name="colorAccent">@color/accent</item>
<item name="colorAccent">@color/accent</item>
<item name="android:textColorPrimary">#fff</item>
<item name="windowActionModeOverlay">true</item>
<item name="android:textViewStyle">@style/Widget.TextView.White</item>
</style>
Так бывает только с primary color
, accent color
отлично работает. На моем устройстве установлена версия 4.2.2, и я не проверял другие устройства.
Действия с панелью инструментов
<android.support.v4.widget.DrawerLayout 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"
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<android.support.v7.widget.Toolbar
android:id="@+id/my_awesome_toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?attr/colorPrimary"
android:minHeight="?attr/actionBarSize"
app:theme="@style/ThemeOverlay.AppCompat.ActionBar" />
<FrameLayout
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:ignore="MergeRootFrame" />
</LinearLayout>
<!-- The navigation drawer -->
<LinearLayout
android:id="@+id/navdrawer"
android:layout_width="240dp"
android:layout_height="match_parent"
android:layout_gravity="start"
android:fitsSystemWindows="true"
android:orientation="vertical" >
<!-- IN THIS IT ALSO HAPPENS -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingLeft="16dp"
android:paddingRight="16dp"
android:paddingBottom="16dp"
android:orientation="vertical"
android:background="@color/primary" >
<!-- Some stuff -->
</LinearLayout>
<ListView
android:id="@+id/left_drawer"
android:layout_height="match_parent"
android:layout_width="match_parent"
android:background="@color/black_light"
android:divider="@color/grey"
android:choiceMode="singleChoice" />
</LinearLayout>
</android.support.v4.widget.DrawerLayout>
values
иvalues-21
пуста, в настоящее время у меня больше нетvalues-vX
папок. Я следую официальному руководству по навигационному ящику и не касаясь панели инструментов другими способами. Просто хочу сказать, что панель инструментов была примером, но это происходит в более случайных виджетах (например, TextView). - person peguerosdc   schedule 30.11.2014