Как расширить android.view.Surface? - PullRequest
2 голосов
/ 26 июля 2011

Я столкнулся с проблемой, пытаясь расширить класс Surface для Android. Мой текущий фрагмент:

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();

Что я не понимаю, так это то, что в Surface.java для Android метод и класс являются общедоступными (например, по адресу: http://netmite.com/android/mydroid/frameworks/base/core/java/android/view/Surface.java)

Что я пропустил?

Редактировать : я не хочу использовать SurfaceView, GL или любой другой вид, связанный с «View». Я пытаюсь получить изображение MediaPlayer за кадром. У меня вопрос конкретный, а не стандартная Android-разработка.

Ответы [ 2 ]

1 голос
/ 26 июля 2011

Может быть, вы хотите GLSurfaceView? Имеет немного больше контроля. В противном случае вы сможете получить основные классы и изменить их напрямую. Тем не менее, он не предназначен для использования Surface, поэтому я рекомендую вам поискать альтернативу, я уверен, что есть обходной путь

0 голосов
/ 26 июля 2011

Вы расширяете неправильный класс, вы должны расширить SurfaceView

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

Поверхность используется системой Android

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