如何扩展android.view.Surface?

时间:2011-07-26 10:48:55

标签: java android class graphics sdk

通过尝试扩展Android的Surface类,我遇到了一个问题。我目前的片段是:

import android.view.Surface;

public class PixelSurface extends Surface {
    public PixelSurface() {
        super();
    }
}

当我尝试编译时,错误是:

[javac] /home/tito/code/bleh/src/org/kivy/android/PixelSurface.java:5: Surface() is not public in android.view.Surface; cannot be accessed from outside package
[javac]             super();

我不明白的是,在android的Surface.java上,方法和类是公开的(例如:http://netmite.com/android/mydroid/frameworks/base/core/java/android/view/Surface.java

我错过了什么?

编辑:我不想使用SurfaceView或GL或任何“View”相关。我试图在屏幕外显示MediaPlayer的图片。我的问题是具体的,而不是标准的android开发。

2 个答案:

答案 0 :(得分:1)

也许你想要GLSurfaceView?有更多的控制权。否则,您可能可以获取核心类并直接更改它们。虽然它不适合你使用Surface,所以我建议你寻找替代方案,我确信有一个解决方法

答案 1 :(得分:0)

您正在扩展错误的类,您应该扩展SurfaceView

http://developer.android.com/reference/android/view/SurfaceView.html

Surface由Android系统内部使用