【问题标题】:How can I find default colors for a given Android Theme?如何找到给定 Android 主题的默认颜色?
【发布时间】:2015-10-12 22:36:27
【问题描述】:

我正在使用 AppCompat.NoActionBar 主题。我想知道如何找到 EditText 行和 DialogFragments 中的标题的默认颜色。这些默认值看起来像蓝绿色,我也想知道它们是相同的颜色还是不同的颜色。是否有按平台版本列出默认颜色的 Android 资源?

这里是themes.xml:

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

<style name="AppTheme" parent="AppTheme.Base"/>

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

    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimary</item>
    <item name="android:windowNoTitle">true</item>
    <item name="windowActionBar">false</item>
    <item name="android:windowDisablePreview">true</item>

</style>

    <style name="FloatingLabel" parent="@android:style/TextAppearance" >
    <item name="android:textColor">@color/colorFlLabelActivated</item>
</style>

...

清单:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example..." >

<application
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:theme="@style/AppTheme" >

    <activity
        android:name="com.example..."
         >

        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

    <activity
        android:name="com.example..."
        android:windowSoftInputMode="stateVisible|adjustResize"
         />
    </activity>

</application>

colors.xml:

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

<color name="colorPrimary">#357EC7</color>
<color name="colorHint">#C0C0C0</color>
<color name="colorFlLabelActivated">#357EC7</color>

</resources>

【问题讨论】:

  • EditText 线条颜色是您在主题中设置的强调颜色。
  • 你的意思是colorPrimary吗?因为我没有设置accentColor。有关主题.xml 文件,请参见上文。
  • 如果你不设置 colorAccent 它将采用默认颜色。您必须设置 3 种颜色来制作主题:colorPrimary、colorPrimaryDark 和 colorAccent。
  • 在第一条评论中有错误的名称,它应该是 colorAccent 而不是 AccentColor。
  • 我了解必须设置 3 种颜色。但我试图找出默认值(#Hex 值)当前使用的 RGB 颜色值。例如,见上文。我将编辑以显示 EditText 行的默认颜色。

标签: android android-edittext android-theme android-dialogfragment


【解决方案1】:

转到您的 android sdk 并按照路径 \sdk\platforms\android-22\data\res\values\colors.xml 这包含默认主题的所有项目的颜色代码

平台 android-22 文件夹名称可能会有所不同,具体取决于您为 sdk 安装的平台工具

【讨论】:

  • 谢谢。但我正在尝试确定默认显示的颜色。我想将默认颜色用于浮动标签等其他内容,但我不知道如何获取默认颜色。
【解决方案2】:

因此没有关于主题的文档,但您可能会发现以下链接有用且有趣。

主题风格

有关主题及其组件的详细信息

颜色细节和设计

【讨论】:

  • 谢谢,我去看看。但是必须有一种方法可以找出操作系统使用的默认值。
猜你喜欢
  • 2015-10-28
  • 2011-08-31
  • 2017-04-13
  • 1970-01-01
  • 1970-01-01
  • 2019-12-13
  • 1970-01-01
  • 2023-02-10
  • 1970-01-01
相关资源
最近更新 更多