TextView 颜色不受 xml 属性影响 android:textColor
TextView color not affected by xml attribute android:textColor
这是一个奇怪的问题,仍然找不到原因?
像下面这样设置自定义工具栏,
<android.support.v7.widget.Toolbar
....>
<include android:id="@+id/custom_toolbar" layout="@layout/custom_toolbar"/>
</android.support.v7.widget.Toolbar>
自定义工具栏中的文本视图
<TextView
.....
android:text="@string/search_by_title_or_artist"
android:textColor="@color/text_shadow_white"
.... />
和主题风格
<style name="AppTheme" parent="BaseTheme">
.....
<item name="android:textColorPrimary">@color/material_gray_900</item>
.....
</style>
最后是 BaseTheme
<style name="BaseTheme" parent="Theme.AppCompat.Light.NoActionBar">
<item name="android:windowLightStatusBar" tools:targetApi="23">true</item>
<item name="windowActionModeOverlay">true</item>
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
<item name="android:windowFullscreen">true</item>
<item name="android:windowDrawsSystemBarBackgrounds">true</item>
<item name="android:statusBarColor">@android:color/transparent</item>
<item name="android:windowContentTransitions">true</item>
</style>
问题是自定义工具栏中的文本颜色不会被 android:textColor
属性覆盖,无论设置任何颜色。它仅受主题样式中的 android:textColorPrimary
影响。但其他不在列表中的自定义工具栏中的文本将被 android:textColor
.
覆盖
请告诉我这有什么问题以及如何解决。
首先像这样自定义您的 style.xml
:-
<style name="AppTheme.PopupOverlay" parent="ThemeOverlay.AppCompat.Light" />
然后应用到您的自定义 toolbar
:-
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
app:popupTheme="@style/AppTheme.PopupOverlay" >
<TextView
.....
android:text="@string/search_by_title_or_artist"
android:textColor="@color/text_shadow_white"
....
/>
</android.support.v7.widget.Toolbar>
试试这个可能对你有帮助。
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="@drawable/bg_transition"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light"/>
Try this
<android.support.v7.widget.Toolbar
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent" android:layout_height="wrap_content">
<TextView android:layout_width="wrap_content"
android:text="Search..."
android:textColor="@color/colorPrimary"
android:layout_height="wrap_content"/>
</android.support.v7.widget.Toolbar>
这是一个奇怪的问题,仍然找不到原因? 像下面这样设置自定义工具栏,
<android.support.v7.widget.Toolbar
....>
<include android:id="@+id/custom_toolbar" layout="@layout/custom_toolbar"/>
</android.support.v7.widget.Toolbar>
自定义工具栏中的文本视图
<TextView
.....
android:text="@string/search_by_title_or_artist"
android:textColor="@color/text_shadow_white"
.... />
和主题风格
<style name="AppTheme" parent="BaseTheme">
.....
<item name="android:textColorPrimary">@color/material_gray_900</item>
.....
</style>
最后是 BaseTheme
<style name="BaseTheme" parent="Theme.AppCompat.Light.NoActionBar">
<item name="android:windowLightStatusBar" tools:targetApi="23">true</item>
<item name="windowActionModeOverlay">true</item>
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
<item name="android:windowFullscreen">true</item>
<item name="android:windowDrawsSystemBarBackgrounds">true</item>
<item name="android:statusBarColor">@android:color/transparent</item>
<item name="android:windowContentTransitions">true</item>
</style>
问题是自定义工具栏中的文本颜色不会被 android:textColor
属性覆盖,无论设置任何颜色。它仅受主题样式中的 android:textColorPrimary
影响。但其他不在列表中的自定义工具栏中的文本将被 android:textColor
.
请告诉我这有什么问题以及如何解决。
首先像这样自定义您的 style.xml
:-
<style name="AppTheme.PopupOverlay" parent="ThemeOverlay.AppCompat.Light" />
然后应用到您的自定义 toolbar
:-
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
app:popupTheme="@style/AppTheme.PopupOverlay" >
<TextView
.....
android:text="@string/search_by_title_or_artist"
android:textColor="@color/text_shadow_white"
....
/>
</android.support.v7.widget.Toolbar>
试试这个可能对你有帮助。
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="@drawable/bg_transition"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light"/>
Try this
<android.support.v7.widget.Toolbar
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent" android:layout_height="wrap_content">
<TextView android:layout_width="wrap_content"
android:text="Search..."
android:textColor="@color/colorPrimary"
android:layout_height="wrap_content"/>
</android.support.v7.widget.Toolbar>