更改自定义工具栏中的文本颜色

时间:2017-11-04 13:09:20

标签: android xml

默认情况下,我的操作栏有白色文字。

我有一个使用自定义工具栏的视图,但文本显示为黑色。

我看不出是什么问题。我猜它是继承的吗?

来自activity_stories.xml的片段:

<android.support.design.widget.AppBarLayout
   android:layout_width="match_parent"
   android:layout_height="wrap_content"
   android:theme="@style/AppTheme.NoActionBar">

   <android.support.v7.widget.Toolbar
       android:id="@+id/toolbar"
       android:layout_width="match_parent"
       android:layout_height="?attr/actionBarSize"
       android:background="?attr/colorPrimary"
       app:layout_scrollFlags="scroll|enterAlways" />

   <android.support.design.widget.TabLayout
       android:id="@+id/tabs"
       android:layout_width="match_parent"
       android:layout_height="wrap_content"
       app:tabMode="fixed"
       app:tabGravity="fill"/>

</android.support.design.widget.AppBarLayout>

我的styles.xml

<resources>

    <!-- Base application theme. -->
    <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
        <!-- Customize your theme here. -->
        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/colorAccent</item>
        <item name="android:textColor">@android:color/black</item>
    </style>

    <style name="AppTheme.NoActionBar">
        <item name="windowActionBar">false</item>
        <item name="windowNoTitle">true</item>
    </style>

    <style name="AppTheme.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar" />

    <style name="AppTheme.PopupOverlay" parent="ThemeOverlay.AppCompat.Light" />

</resources>

我的AndroidManifest.xml

<application
   android:allowBackup="true"
   android:icon="@mipmap/ic_launcher"
   android:label="@string/app_name"
   android:roundIcon="@mipmap/ic_launcher_round"
   android:supportsRtl="true"
   android:theme="@style/AppTheme">

   <activity android:name=".MainActivity">
       <intent-filter>
           <action android:name="android.intent.action.MAIN" />
           <category android:name="android.intent.category.LAUNCHER" />
       </intent-filter>
   </activity>
   <activity android:name=".StoriesActivity" android:theme="@style/AppTheme.NoActionBar" />
   <activity android:name=".StoryBodyActivity"></activity>

</application>

2 个答案:

答案 0 :(得分:1)

我的解决方案是将<activity android:name=".MainActivity" />更改为<activity android:name=".MainActivity" android:theme="@style/AppTheme.NoActionBar" />

答案 1 :(得分:0)

1.在样式中设置android:textColorPrimaryandroid:textColorPrimaryInverse

2.设置在Toolbar

试试这个。

 <android.support.v7.widget.Toolbar
    app:theme="@style/yourToolbar" />


 <style name="yourToolbar" parent="Theme.AppCompat.NoActionBar">
     <!-- android:textColorPrimary is the  color of the title text
      in the Toolbar, in the Theme.AppCompat theme:  -->
     <item name="android:textColorPrimary">@color/my_color</item>

     <!-- android:textColorPrimaryInverse is the  color of the title
      text in the Toolbar, in the Theme.AppCompat.Light theme:  -->
     <item name="android:textColorPrimaryInverse">@color/my_color</item>
</style>