当我们开始在Android 6.0设备上测试我们的应用时,工具栏(支持操作栏)为白色。它没有使用我们在styles.xml中指定的颜色。这适用于所有预棉花糖设备。谁知道为什么会这样?我无法在谷歌上找到任何相关信息。
一些代码:
MainActivity.java
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
}
}
activity_main.xml中
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.example.swekjaks.actionbartest.MainActivity">
<include android:id="@+id/toolbar"
layout="@layout/tool_bar" />
</RelativeLayout>
tool_bar.xml
<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/PrimaryColor"
android:foreground="@color/white"
android:theme="@style/ThemeOverlay.AppCompat.Dark">
</android.support.v7.widget.Toolbar>
styles.xml
<resources xmlns:tools="http://schemas.android.com/tools">
<!-- Base application theme. -->
<style name="AppTheme" parent="@style/Theme.AppCompat.Light.NoActionBar">
<item name="android:actionBarStyle" tools:targetApi="11">@style/RelacomActionBar</item>
<!-- Support library compatibility -->
<item name="actionBarStyle">@style/RelacomActionBar</item>
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
</style>
<!-- ActionBar styles -->
<style name="RelacomActionBar" parent="@style/Widget.AppCompat.Light.ActionBar.Solid.Inverse">
<item name="android:background">@color/colorPrimary</item>
<!-- Support library compatibility -->
<item name="background">@color/colorPrimary</item>
</style>
</resources>
答案 0 :(得分:0)
将自定义styles
和colors
复制到styles.xml (v21)
也可以正常使用。
styles.xml (v21)
的路径是:
\app\src\main\res\values-v21\styles.xml
答案 1 :(得分:0)
我认为它是设计库中的一个错误。 我使用的是库23.3.0。并且仍然会发生错误。 解决方法是添加几乎没有空间且可以隐藏的View。请参阅下面的结构。
<android.support.v4.widget.NestedScrollView
app:layout_behavior="@string/appbar_scrolling_view_behavior">
</android.support.v4.widget.NestedScrollView>
<android.support.design.widget.AppBarLayout>
<android.support.v7.widget.Toolbar
app:layout_scrollFlags="scroll|enterAlways" />
<android.support.design.widget.TabLayout
app:layout_scrollFlags="scroll|enterAlways" />
<View
android:layout_width="match_parent"
android:layout_height=".3dp"
android:visibility="visible"/>
</android.support.design.widget.AppBarLayout>
这对我有用。让人们知道它是否适合你。 有关详细信息,请参阅https://code.google.com/p/android/issues/detail?id=178037