我试图通过函数在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);
但是通过使用此代码,该地方的其他所有内容都不可见。
答案 0 :(得分:0)
这是因为这个渐变函数会创建一个圆形矩形,它位于该地方所有其他控件的顶部。 尝试使用
super.paint(g);
刚刚从你调用这个函数的语句之后 希望它能起作用..