Относительно Ui Градиентный эффект в ежевике - PullRequest
1 голос
/ 15 декабря 2011

Я пытаюсь получить эффект градиента в HorizontalFieldManager через функцию.затем я пытаюсь поместить некоторые элементы управления поверх него.вот мой код

 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 голосов
/ 15 декабря 2011

Это потому, что эта функция градиента создаст круглый прямоугольник, который будет располагаться поверх всех других контуров, расположенных в этом месте. попробуйте использовать

  super.paint(g); 

сразу после оператора, откуда вы вызываете эту функцию Надеюсь, это сработает ..

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...