2012-12-06 91 views
0

在android中,我创建了视图,我给出了椭圆形和纯色。现在我想动态获取并设置圆的颜色。但getBackground()返回一个GradientDrawable,其中has no methods用于获取颜色。无论如何,有没有(简单的)方法可以做到这一点?获取椭圆形视图的颜色

我更喜欢不使用画布,因为我正在处理所有视图的很多元素,这使得它更容易。

XML:

<?xml version="1.0" encoding="utf-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android" 
    android:shape="oval"> 
    <solid 
     android:color="#ffff3333" 
     /> 
</shape> 

回答

0

这是你想要的吗? 试试这个:

使用类似的getDrawingCache获取位图() 并使用位图即SRC如下

Bitmap bitmap = src.copy(Bitmap.Config.ARGB_8888, true); 
    for(int x = 0;x < bitmap.getWidth();x++) 
     for(int y = 0;y < bitmap.getHeight();y++) 
      int pixelColor = bitmap.getPixel(x, y); 

的pixelColor值将包括每个颜色的每个像素的你图片。

+0

这是第一次。然后我使用.setBackgroundColor(int)将颜色设置为其他颜色,并尝试再次获取颜色。但是,这不是我设定的颜色,而是原来的颜色。 – Niels

+0

你能编辑你在你的问题中做了什么,这样我们就可以检查出逻辑 –