【问题标题】:Textview Color is not changed by styleTextview 颜色不随样式改变
【发布时间】:2016-08-05 13:22:51
【问题描述】:

我确实有一个问题,自上次更新 Android Studio 和 SDK 到:

已安装的 SDK: 所有包括转。 25.1.2

Android 工作室: Android Studio 2.0 Build #AI-143.2739321,于 2016 年 4 月 5 日构建 JRE:1.7.0_80-b15 amd64

我不能再通过样式改变 TextView 的颜色了......

构建最小 sdk 是:

minSdkVersion 19
targetSdkVersion 22
compileSdkVersion 22
buildToolsVersion "22.0.1"

TextView“dashboardGridItemTitleTextView”总是包含默认颜色(“white”)

父项的布局:

<?xml version="1.0" encoding="utf-8"?>

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="180dp"
    android:layout_height="180dp"
    android:orientation="vertical"
    android:padding="20dp">

    <ImageView
        android:id="@+id/dashboardGridItemImageView"
        android:layout_width="100dp"
        android:layout_height="100dp"
        android:src="@drawable/textmessage_128"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true" />

    <TextView
        android:id="@+id/dashboardGridItemTitleTextView"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_centerHorizontal="true"
        android:layout_gravity="center_vertical"
        android:gravity="center_horizontal"
        android:text="@string/title_load_containers"
        android:textAppearance="?android:attr/textAppearanceMedium"/>

    <TextView
        android:id="@+id/badgeTextView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_alignParentTop="true"
        android:layout_marginRight="15dp"
        android:layout_marginTop="0dp"
        android:background="@drawable/rounded_badge"
        android:minWidth="10dp"
        android:padding="4dp"
        android:text="0"
        android:visibility="gone"
        android:textIsSelectable="false" />

</RelativeLayout>

没有什么特别的,我知道应用程序使用的样式。我确实有主题切换,所以不要关心黑暗主题:

<resources>

    <style name="CommonAppTheme" parent="android:Theme.Holo.Light.DarkActionBar">
        <item name="android:actionBarStyle">@style/CommonActionBar</item>
        <item name="android:buttonStyle">@style/buttonStyle</item>
        <item name="android:alertDialogTheme">@style/dialogTheme</item>
        <item name="android:imageButtonStyle">@style/MarginlessImageButton</item>
        <item name="android:windowEnableSplitTouch">false</item>
        <item name="android:splitMotionEvents">false</item>
        <item name="android:windowDisablePreview">true</item>
        <item name="android:textViewStyle">@style/textViewStyle</item>

        <item name="theme_dependent_list_item_background">@drawable/company_list_bg</item>
        <item name="theme_dependent_list_item_background_highlighted">
            @drawable/company_list_bg_highlighted
        </item>
        <item name="theme_dependent_default_button">@drawable/button_rounded_corner</item>
        <item name="theme_dependent_text_color">@color/black</item>
        <item name="theme_dependent_text_color_highlighted">@color/black</item>

        <item name="theme_dependent_button_rounded_corner_green">
            @drawable/button_rounded_corner_green
        </item>
        <item name="theme_dependent_button_rounded_corner_red">@drawable/button_rounded_corner_red
        </item>
    </style>

    <style name="CommonAppThemeDark" parent="android:Theme.Holo">
        <item name="android:actionBarStyle">@style/CommonActionBar</item>
        <item name="android:buttonStyle">@style/buttonStyleDark</item>
        <item name="android:alertDialogTheme">@style/dialogThemeDark</item>

        <item name="android:windowDisablePreview">true</item>
        <item name="android:textViewStyle">@style/textViewStyleDark</item>
        <item name="theme_dependent_list_item_background">@drawable/company_list_bg_dark</item>
        <item name="theme_dependent_list_item_background_highlighted">
            @drawable/company_list_bg_dark_highlighted
        </item>
        <item name="theme_dependent_default_button">@drawable/button_rounded_corner_dark</item>
        <item name="theme_dependent_text_color">@drawable/company_list_text_dark</item>
        <item name="theme_dependent_text_color_highlighted">@drawable/company_list_text_dark</item>

        <item name="theme_dependent_button_rounded_corner_green">
            @drawable/button_rounded_corner_green_dark
        </item>
        <item name="theme_dependent_button_rounded_corner_red">
            @drawable/button_rounded_corner_red_dark
        </item>
    </style>

    <style name="CommonActionBar" parent="@android:style/Widget.Holo.Light.ActionBar">
        <item name="android:background">@color/darkGreen</item>
        <item name="android:displayOptions">showCustom</item>
        <item name="android:titleTextStyle">@style/titleTextStyle</item>
        <item name="android:gravity">center</item>
    </style>

    <style name="titleTextStyle" parent="@android:style/TextAppearance.Holo.Widget.ActionBar.Title">
        <item name="android:textColor">@color/white</item>
        <item name="android:layout_gravity">center_horizontal</item>
        <item name="android:gravity">center_horizontal</item>
        <item name="android:textSize">@dimen/abc_text_size_large_material</item>
    </style>

    <style name="ListViewStyle" parent="@android:style/Widget.ListView">
        <item name="android:listSelector">@drawable/company_list_bg</item>
        <item name="android:listChoiceBackgroundIndicator">@drawable/company_list_bg</item>
        <item name="android:listChoiceIndicatorSingle">@drawable/company_list_bg</item>
        <item name="android:listChoiceIndicatorMultiple">@drawable/company_list_bg</item>
    </style>

    <style name="buttonStyle" parent="android:style/Widget.Button">
        <item name="android:padding">10dp</item>
        <item name="android:background">@drawable/button_rounded_corner</item>
    </style>

    <style name="buttonStyleDark" parent="android:style/Widget.Button">
        <item name="android:padding">10dp</item>
        <item name="android:background">@drawable/button_rounded_corner_dark</item>
        <item name="android:textColor">@drawable/button_text_dark</item>
    </style>

    <style name="MarginlessImageButton" parent="android:Widget.ImageButton">
        <item name="android:background">@null</item>
    </style>

    <!-- TextView -->

    <style name="textViewStyle" parent="android:style/Widget.TextView">
        <item name="android:textColor">@color/black</item>
        <item name="android:color">@color/black</item>
        <item name="android:textAppearance">@style/commonTextAppearance</item>
    </style>

    <style name="commonTextAppearance" parent="@android:style/TextAppearance">
        <item name="android:textColor">@color/black</item>
        <item name="android:color">@color/black</item>
    </style>

    <style name="textViewStyleDark" parent="android:style/Widget.TextView">
        <item name="android:textColor">@color/white</item>
        <item name="android:color">@color/white</item>
        <item name="android:textAppearance">@style/commonTextAppearanceDark</item>
    </style>

    <style name="commonTextAppearanceDark" parent="@android:style/TextAppearance">
        <item name="android:textColor">@color/white</item>
        <item name="android:color">@color/white</item>
    </style>

    <!-- Alert / Dialog Theme|Style -->

    <style name="dialogTheme" parent="@android:style/Theme.Holo.Light.Dialog">
        <item name="android:buttonBarButtonStyle">@style/DialogButtonStyle</item>
        <item name="android:windowBackground">@android:color/transparent</item>
        <item name="android:windowMinWidthMajor">@android:dimen/dialog_min_width_major</item>
        <item name="android:windowMinWidthMinor">@android:dimen/dialog_min_width_minor</item>
        <item name="android:windowIsFloating">true</item>
        <item name="android:buttonBarStyle">@style/DialogButtonBarStyle</item>
        <item name="android:buttonStyle">@style/DialogButtonStyle</item>
    </style>

    <style name="dialogThemeDark" parent="@android:style/Theme.Holo.Dialog">
        <item name="android:buttonBarButtonStyle">@style/DialogButtonStyleDark</item>
        <item name="android:windowBackground">@android:color/transparent</item>
        <item name="android:windowMinWidthMajor">@android:dimen/dialog_min_width_major</item>
        <item name="android:windowMinWidthMinor">@android:dimen/dialog_min_width_minor</item>
        <item name="android:windowIsFloating">true</item>
        <item name="android:buttonBarStyle">@style/DialogButtonBarStyle</item>
        <item name="android:buttonStyle">@style/DialogButtonStyleDark</item>
    </style>

    <style name="DialogButtonBarStyle">
        <item name="android:showDividers"></item>
    </style>

    <style name="DialogButtonStyle" parent="android:style/Widget.Button">
        <item name="android:padding">10dp</item>
        <item name="android:layout_marginTop">5dp</item>
        <item name="android:layout_marginBottom">5dp</item>
        <item name="android:layout_marginLeft">10dp</item>
        <item name="android:layout_marginRight">10dp</item>
        <item name="android:background">@drawable/button_rounded_corner</item>
    </style>

    <style name="DialogButtonStyleDark" parent="android:style/Widget.Button">
        <item name="android:padding">10dp</item>
        <item name="android:layout_marginTop">5dp</item>
        <item name="android:layout_marginBottom">5dp</item>
        <item name="android:layout_marginLeft">10dp</item>
        <item name="android:layout_marginRight">10dp</item>
        <item name="android:background">@drawable/button_rounded_corner_dark</item>
        <item name="android:textColor">@drawable/button_text_dark</item>
    </style>
</resources>

我尝试了任何方法来解决这个问题....但我不工作。有人可以帮助这个新手吗?提前致谢!

编辑:

我在构建日志中找到了这个:

2016-04-12 10:19:06,933 [7270100] WARN - rendering.ConfigurationMatcher - 'default' 不是 file://C:/Sources/iApps/iMulco/ 的任何设备/区域设置组合的最佳匹配应用程序/src/main/res/layout/grid_item_dashboard.xml。 显示它 , , , 从左到右, sw384dp, w384dp, h640dp, 正常屏幕, 短屏幕纵横比, 非圆屏, 纵向, 正常, 白天, X-高密度, 手指触摸屏, 软键盘, 无键盘, 隐藏导航,无导航,屏幕分辨率 1280x768,API 级别 24

【问题讨论】:

  • 为什么要使用 style ?简单地将彩色文本放入 XML 中?
  • 不需要与样式有关,您可以通过两种方式直接执行此操作,在 xml 文件中为文本颜色或在 java 文件中为 textview 设置颜色,如 textView.setTextColor(getResources(). getColor(R.color.YOURCOLOR));
  • 你还能阅读吗? :我确实有主题切换,所以不要关心黑暗主题:

标签: android layout colors styles android-theme


【解决方案1】:

也许您有 values-v21 文件夹,并且文本颜色为白色(或未更改)

【讨论】:

    猜你喜欢
    • 2014-08-18
    • 1970-01-01
    • 2022-06-11
    • 2021-06-20
    • 1970-01-01
    • 1970-01-01
    • 2018-06-23
    • 1970-01-01
    • 2011-05-19
    相关资源
    最近更新 更多