2015-02-07 96 views
0

我正在嘗試使用工具欄實現材質樣式的ActionBar。到目前爲止,我製作了一個可用的Material Style ActionBar,但無法更改其圖標和文本顏色。我已經設置了Android自定義材質設計工具欄

Theme.AppCompat.Light.NoActionBar 
在style.xml

android:theme="@style/ThemeOverlay.AppCompat.Dark" 

爲工具欄的主題。

有什麼方法可以將文字顏色和黑色圖標變成白色嗎?

來源如下,

工具欄:

<?xml version="1.0" encoding="utf-8"?> 
    <android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android" 
     android:id="@+id/toolbar" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:background="?attr/colorPrimary" 
     android:minHeight="?attr/actionBarSize" 
     android:theme="@style/ThemeOverlay.AppCompat.Dark" > 

    </android.support.v7.widget.Toolbar> 

AppTheme:

<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar"> 

     <item name="colorPrimary">@color/ColorPrimary</item> 
     <item name="colorPrimaryDark">@color/ColorPrimaryDark</item> 
    </style> 

activity_main.xml中

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout 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" 
    android:orientation="vertical" 
    tools:context="com.example.materialactionabar.MainActivity" > 

    <include layout="@layout/toolbar" /> 

    <android.support.v4.widget.DrawerLayout 
     android:id="@+id/drawer_layout" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" > 

     <FrameLayout 
      android:id="@+id/container" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" /> 

     <fragment 
      android:id="@+id/navigation_drawer" 
      android:name="com.example.materialactionabar.NavigationDrawerFragment" 
      android:layout_width="240dp" 
      android:layout_height="match_parent" 
      android:layout_gravity="start" /> 
    </android.support.v4.widget.DrawerLayout> 

回答

0

在您的樣式只需添加如下:

<item name="spinBars">true</item> 
<item name="color">@color/white</item> 

完整代碼如下:

<resources> 
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar"> 
    <item name="colorPrimary">@color/ColorPrimary</item> 
    <item name="colorPrimaryDark">@color/ColorPrimaryDark</item> 
    <item name="windowActionBar">false</item> 
    <item name="drawerArrowStyle">@style/DrawerArrowStyle</item> 
</style> 

<style name="DrawerArrowStyle" parent="Widget.AppCompat.DrawerArrowToggle"> 
    <item name="spinBars">true</item> 
    <item name="color">@color/white</item> 
</style> 

+0

感謝@Ranjith,得到它正常工作。我有一個小問題,爲什麼我們需要添加另一種風格的主要主題?我的意思是它假定沒有添加新風格就可以工作。 – 2015-02-07 16:36:21