2

Android 6.0デバイスでアプリのテストを開始したとき、ツールバー(サポートアクションバー)は白です。 styles.xmlで指定した色を使用していません。これはすべてのマシュマロ前のデバイスで機能しています。それがなぜ起こったのか誰も知っていますか?私はGoogle上でそれについて何も見つけることができませんでした。Android 6.0でツールバーが白く(スタイル/色が適用されない)Marshmallow

いくつかのコード:

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

を設定しています。android:foreground = "@ color/white"と設定しているので、どのような色になると思いますか? – Egor

+0

甘い。それはうまくいった。しかし、なぜこのように行動しているのですか?フォアグラウンドがツールバーの背景色であることはあまり明確ではありません。 – exkoria

答えて

0

コピーカスタムstylescolorsだけでなく、それが正常に動作しますstyles.xml (v21)から。

enter image description here

styles.xml (v21)のパスは次のとおりです。

\app\src\main\res\values-v21\styles.xml 
+1

返事をありがとうが、残念ながらそれは動作しません。 Android 6.0ではまだ白です。 – exkoria

0

は、私がデザインライブラリにそのバグを考えます。 私はライブラリ23.3.0を使用しています。依然としてバグが発生します。 この問題を回避するには、スペースをほとんど必要とせず、見えないビューを追加することです。以下の構造を参照してください。

<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

関連する問題