Android 如何在xml资源文件中引用颜色变量

Android 如何在xml资源文件中引用颜色变量,android,android-xml,android-resources,Android,Android Xml,Android Resources,我的res/drawable目录中有以下XML: <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android" > <item > <shape android:shape="rectangle" > <corners android:radius="10dip"

我的res/drawable目录中有以下XML:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<item >
    <shape android:shape="rectangle"  >
         <corners android:radius="10dip" />
         <stroke android:width="1dip" android:color="#706969" />
         <gradient android:angle="-90" android:startColor="#117e7a7a" android:endColor="#BB7e7a7a" />            
     </shape>
 </item>
</selector>

我想在android:startColor=“#117e7a7a”中加入一个变量引用,而不是颜色值。怎么能做到呢?我在谷歌上找不到任何相关信息

感谢

解释了如何从其他资源/布局中引用资源(如颜色)

简而言之,使用:

android:startColor="@color/myColor" ...
其中,“myColor”可以在values/colors.xml中定义为:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <color name="myColor">#117e7a7a</color>
    .... more colors
</resources>

#117e7a7a
.... 更多颜色
解释了如何从其他资源/布局中引用资源(如颜色)

简而言之,使用:

android:startColor="@color/myColor" ...
其中,“myColor”可以在values/colors.xml中定义为:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <color name="myColor">#117e7a7a</color>
    .... more colors
</resources>

#117e7a7a
.... 更多颜色

res/values
中创建一个
colors.xml
文件。在该文档中,创建颜色变量

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

    <color name="textColorPrimary">#ffffff</color>

</resources>


#ffffff

使用
@colors/textColorPrimary
参考颜色在
res/values
中创建
colors.xml
文件。在该文档中,创建颜色变量

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

    <color name="textColorPrimary">#ffffff</color>

</resources>


#ffffff

使用
@colors/textColorPrimary

参考您的颜色,谢谢!如何在drawables目录中的xml选择器文件中对该颜色变量应用掩码?我的意思是,我想用一些更清晰的颜色或在某些情况下有一些透明度的遮罩。如何将masc应用于“颜色/我的颜色”?你是说应用alpha遮罩吗?我认为它不适用于颜色,而适用于绘画,并且必须以编程方式进行。我指的是对颜色应用遮罩,例如,如果颜色为#111111,我想求和#333333,结果必须是#444444。我怎么能做到呢?我还没有看到颜色是整数的和,但是你仍然可以做到,尽管你必须通过编程来实现。无论如何,你可以把它作为一个不同的问题发布,它与你最初提出的问题无关。下面是代码:
intcolor1=res.getColor(R.color.myColor)//#11111 int color2=res.getColor(R.color.mask)//#333333; int colorRes=color1+color2我必须在xml中应用它,我不能做int…etcthanks!如何在drawables目录中的xml选择器文件中对该颜色变量应用掩码?我的意思是,我想用一些更清晰的颜色或在某些情况下有一些透明度的遮罩。如何将masc应用于“颜色/我的颜色”?你是说应用alpha遮罩吗?我认为它不适用于颜色,而适用于绘画,并且必须以编程方式进行。我指的是对颜色应用遮罩,例如,如果颜色为#111111,我想求和#333333,结果必须是#444444。我怎么能做到呢?我还没有看到颜色是整数的和,但是你仍然可以做到,尽管你必须通过编程来实现。无论如何,你可以把它作为一个不同的问题发布,它与你最初提出的问题无关。下面是代码:
intcolor1=res.getColor(R.color.myColor)//#11111 int color2=res.getColor(R.color.mask)//#333333; int colorRes=color1+color2我必须在xml中应用它,我不能做int…etcthanks!如何在drawables目录中的xml选择器文件中对该颜色变量应用掩码?我的意思是,我想用一些更清晰的颜色或在某些情况下有一些透明度的遮罩。我如何将masc应用于“color/rextColorPrimary”?我不确定我是否理解你的问题。我说的是对颜色应用遮罩,例如,如果颜色为#111111,我想求和#333333,结果必须是#444444。我该怎么做?谢谢!如何在drawables目录中的xml选择器文件中对该颜色变量应用掩码?我的意思是,我想用一些更清晰的颜色或在某些情况下有一些透明度的遮罩。我如何将masc应用于“color/rextColorPrimary”?我不确定我是否理解你的问题。我说的是对颜色应用遮罩,例如,如果颜色为#111111,我想求和#333333,结果必须是#444444。我该怎么做?