我已经为渐变定义了XML。
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
<gradient
android:startColor="#9acd32"
android:endColor="#ffffff"
android:angle="180"
/>
我想在下面的代码中使用渐变。
XYRegionFormatter regionFormatter3 = new XYRegionFormatter(Color.BLUE);
而不是Color.BLUE
如何使用它?
答案 0 :(得分:0)
试试这个:
XYRegionFormatter regionFormatter3 = new XYRegionFormatter(getResources().getColor(R.color.<xml_file_name>));
修改强>
我意识到它需要一个Color属性,而这一行试图将它交叉引用到drawable,这是错误的。渐变实际上形成了一个drawable,而XYRegionFormatter
需要一个 Color 属性。因此,在这种情况下不能使用梯度绘图。代码中没有其他可能的使用渐变作为颜色属性,afaik。另外,由于XYRegionFormatter
没有定义任何使用 Drawable()的方法,或者甚至 Paint()就此而言,目前似乎无法对您正在查看的场景使用渐变。
答案 1 :(得分:0)
试试这个......
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<gradient android:type="radial" android:gradientRadius="250"
android:startColor="#E9E9E9" android:endColor="#D4D4D4" />
</shape>
答案 2 :(得分:0)
你应该做这样的事情。
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<gradient
android:startColor="#9acd32"
android:endColor="#ffffff"
android:angle="180"
/>
</shape>
这个xml将在你的res / drawable中,名称如shape.xml
现在您可以在代码中传递此代码。
XYRegionFormatter regionFormatter3 = new XYRegionFormatter(getResources().getDrawable(R.drawable.shape));