EditText& TextView textColorPrimary不遵循API的主题颜色< 21

时间:2015-03-11 04:13:28

标签: android android-layout material-design

在设计工具栏视图以使其适用于API 21及以下版本时存在一些问题但请考虑我有这个styles.xml

<!-- Base application theme. -->
<style name="AppTheme" parent="AppTheme.Base">
    <!-- Customized theme for API < 21 -->
</style>

<style name="AppTheme.Base" parent="Theme.AppCompat.Light.NoActionBar">
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
</style>

<style name="AppToolbarTheme" parent="ThemeOverlay.AppCompat.Dark.ActionBar">
    <item name="android:background">@color/colorPrimary</item>
    <item name="android:textColorPrimary">@color/white</item>
    <item name="android:textColorSecondary">@color/grey</item>
</style>

这在我的screen1.xml工具栏中

<android.support.v7.widget.Toolbar
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    app:theme="@style/AppToolbarTheme"
    app:popupTheme="@style/AppPopupToolbarTheme"
    android:id="@+id/app_bar">

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:id="@+id/toolbar_text"
            android:textColor="?android:textColorPrimary"
            android:gravity="center"/>
        <!-- other views here -->
    </RelativeLayout>
</android.support.v7.widget.Toolbar>

上面的"?android:textColorPrimary"无法在API&lt; 21,然后回到暗文本颜色而不是我的@color/white

但是我仍然认为可以使用setSupportActionBar((Toolbar) findViewById(R.id.app_bar));中的Activity.onCreate()“自动生成”TextView标题,我可以看到TextView跟随我的textColorPrimary

  1. android:textColor=应该包含哪些内容?或
  2. 如何从ActionBar支持中看到生成的TextView(如浏览器F12)?所以我也可以申请。

1 个答案:

答案 0 :(得分:4)

textcolor属性的正确值应为:

android:textColor="?android:attr/textColorPrimary"