SweepGradient and Banding

by Shane » Fri, 26 Feb 2010 01:52:40 GMT


Sponsored Links
 Hello,

I'm writing an android app to that among other things lets a user
choose a color using a color wheel that is drawn using a SweepGradient
shader.  The shader is set up as follows:

        mColors = new int[] { Color.RED, Color.MAGENTA, Color.BLUE,
Color.CYAN, Color.GREEN,  Color.YELLOW, Color.RED };
        Shader s = new SweepGradient(0, 0, mColors, null);

I assign that shader to a Paint object which I then use inside of a
onDraw callback in a custom view to an oval using the paint/shader
object.  Here's the problem...

If I use that view inside of a Dialog and display the Dialog the oval
displays great, all colors in the gradient seamlessly blend together.
However, if I use that same view on its own the same SweepGradient
looks banded especially between green->red, magenta->blue, blue-
changing dither makes no difference.  I'm at a loss as to what to try,
I'm hoping someone has some clues on this.

Oh and BTW, this same behavior happens in the emulator or running on
my Motorola Droid.

Thanks

--



SweepGradient and Banding

by Gaunt Face » Sat, 27 Feb 2010 05:37:31 GMT


 Heya Shane,

I've had a similar problem with gradients applied to backgrounds, what
I found the issue was, was I had didn't have the drawables in the
correct dpi folder.

While I know your not using a drawable it might be worth looking into
whether changing the AndroidManifest file to state your app handles
different screen sizes.

I don't know if this is the problem, especially considering the dialog
view working, but it might be worth a try:

// Add just underneath the Manifest tag

<supports-screens
          android:largeScreens="true"
          android:normalScreens="true"
          android:smallScreens="true"
          android:anyDensity="true" />




--


Sponsored Links


Other Threads

1. Bluetooth BUG in the framework?

Hi!

I have a problem with bluetooth scan mode.

I am not sure, but i think the
BluetoothAdapter.ACTION_SCAN_MODE_CHANGED intent never contains
EXTRA_PREVIOUS_SCAN_MODE extra.
According to the doc it should:
http://developer.android.com/reference/android/bluetooth/BluetoothAdapter.html#ACTION_SCAN_MODE_CHANGED

There isn't any EXTRA_PREVIOUS_SCAN_MODE related source code in the
"frameworks/base/core/java/android/server/*.java" files.
Maybe it is a known bug, but i didn't find it in the open issues.
BR
Gergely Juhsz

-- 

2. androids

androids are cool

-- 

3. New language to AOSP?

4. LocationListener and getLastKnownLocation

5. Voice Recognizer not present

6. Back End Java/J2EE Developer------We have One interview scheduled To-day

7. Modularity: advises to develop an applicatin "plugin" that could access application Sqlite, preferences, ...