我正在尝试将应用程序从javaME移植到Android。 我有一个使用图形类的部分。
我使用J2ME Android桥(http://www.assembla.com/wiki/show/j2ab/Converting_From_J2ME/8)来访问Graphics类。我仍然缺少一些方法,如:
另外我如何使用Vector?
示例:Vector polylines = g.getPolylines();
答案 0 :(得分:1)
您可以通过覆盖布局中的onDraw方法来绘制形状 例如
protected void onDraw(Canvas canvas) {
canvas.drawCircle(cx, cy, radius, paint)
}
答案 1 :(得分:1)
我在公司创建了一个自动J2ME-> Android转换器。将J2ME图形(javax.microedition.ldcui.Graphics)映射到Android图形(android.graphics.Canvas)非常简单。
setStrokeStyle - 更改Paint实例的路径效果
PathEffect EFFECT_DOTTED_STROKE = new DashPathEffect(new float[] {2, 4}, 4); if (style == SOLID) { strokePaint.setPathEffect(null); } else { strokePaint.setPathEffect(EFFECT_DOTTED_STROKE); }
drawRGB - 直接调用Canvas方法
public void drawRGB(int[] rgbData, int offset, int scanLength, int x, int y, int width, int height, boolean processAlpha) { canvas.drawBitmap(rgbData, offset, width, x + translateX, y + translateY, width, height, processAlpha, null); }
fillTriangle - 使用路径
public void fillTriangle(int x1, int y1, int x2, int y2, int x3, int y3) { Path path = new Path(); path.moveTo(x1 + translateX, y1 + translateY); path.lineTo(x2 + translateX, y2 + translateY); path.lineTo(x3 + translateX, y3 + translateY); path.close(); strokePaint.setStyle(Paint.Style.FILL); canvas.drawPath(path, strokePaint); }
通过Vector你的意思是java.util.Vector? Android API包含完全相同的类...