关于Ui在黑莓中的渐变效果

时间:2011-12-15 04:56:01

标签: blackberry

我试图通过函数在horizo​​ntalFieldManager中获得渐变效果。然后我试图在它上面放置一些控件。 这是我的代码

 static public void drawVerticalGradientRoundRect(Graphics g, int x, int y, int w, int h, int arc, int color1,
        int color2) {
    /*--3------4-
    2           5
    |          |
    1          6
    |          |
    |          |
    12         7
    |11--10----9--8
     */
    int xPts[] = {x, x, x + arc, x + w - arc, x + w, x + w, x + w, x + w, x + w - arc, x + arc, x, x};
    int yPts[] = {y + arc, y, y, y, y, y + arc, y + h - arc, y + h, y + h, y + h, y + h, y + h - arc};
    int color[] = {color1, color1, color1, color1, color1, color1, color2, color2, color2, color2, color2, color2};
    byte start = Graphics.CURVEDPATH_QUADRATIC_BEZIER_CONTROL_POINT;
    byte end = Graphics.CURVEDPATH_END_POINT;
    byte endPts[] = {end, start, end, end, start, end, end, start, end, end, start, end};
    g.drawShadedFilledPath(xPts, yPts, endPts, color, null);

但是通过使用此代码,该地方的其他所有内容都不可见。

1 个答案:

答案 0 :(得分:0)

这是因为这个渐变函数会创建一个圆形矩形,它位于该地方所有其他控件的顶部。 尝试使用

  super.paint(g); 

刚刚从你调用这个函数的语句之后 希望它能起作用..