我在color.xml文件
中使用整数数组为我的cardview背景使用随机颜色color.xml:
<item name="Gold" type="color">#FFFFD700</item>
<item name="Orange" type="color">#DSADSA</item>
<item name="LightSalmon" type="color">#EWQ5645W</item>
<integer-array name="androidcolors">
<item>@color/Gold</item>
<item>@color/Orange</item>
<item>@color/LightSalmon</item>
</integer-array>
但我希望我的背景有渐变色,我尝试了这个:
<integer-array name="androidcolors">
<item><gradient android:endColor="@color/blue" android:startColor="@color/darkblue" /></item>
</integer-array>
它不起作用,我搜索任何地方,我认为没有人使用这个:|你可以帮助我们如何在整数数组或color.xml文件中使用渐变???
答案 0 :(得分:0)
创建一个xml文件并将其放在Drawable文件夹中。使用以下代码
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
<gradient
android:startColor="#8300bf"
android:centerColor="#768087"
android:endColor="#FF9000"
android:angle="-90"
android:type="linear"/>
指定startColor和endColor。在LinearLayout中,按setBackground="@drawable/Your Gradient Filename"
设置背景。
答案 1 :(得分:0)
试试这样, 1.创建一个可绘制的颜色,例如:
card_drawable_bg.xml
<?xml version="1.0" encoding="UTF-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape>
<gradient
android:startColor="#ff9a6922"
android:centerColor="#ff9a4025"
android:endColor="#ff9a0e32"
android:angle="45"/>
</shape>
</item>
</selector>
首先,res / values / arrays.xml中的整数数组:
<integer-array name="frag_home_ids">
<item>@drawable/card_drawable_bg</item>
</integer-array>
其次,以编程方式获取资源整数值:
TypedArray tArray = getResources().obtainTypedArray(
R.array.frag_home_ids);
int count = tArray.length();
int[] ids = new int[count];
for (int i = 0; i < ids.length; i++) {
ids[i] = tArray.getResourceId(i, 0);
}
//Recycles the TypedArray, to be re-used by a later caller.
//After calling this function you must not ever touch the typed array again.
tArray.recycle();
第三,调用整数值,如下所示:
holder.cardView.setCardBackgroundColor(IDS [位置]);
你可以用这种方式得到字符串,颜色,整数,布局,菜单等的整数值。希望它会对你有帮助。