Nasıl bir SurfaceView Android Kamera tarafından kullanılan bir kaplama çizmek için?
SurfaceView a Camera önizleme çizen basit bir program var. Ne yapmaya çalışıyorum kullanıyor onPreviewFrame yöntem, hangi çağrılır her zaman yeni bir çerçeve çizilir içine SurfaceView, amacıyla yürütmek invalidate yöntemi bir anlam çağırmak onDraw yöntem. Aslında onDraw yöntemi çağrılan, ama orada hiçbir şey (kamera önizleme çizmeye çalışıyorum metni üzerine sanırım) yazdırılıyor.
Bu var SurfaceView alt sürüm basitleştirmek.:
public class Superficie extends SurfaceView implements SurfaceHolder.Callback {
SurfaceHolder mHolder;
public Camera camera;
Superficie(Context context) {
super(context);
mHolder = getHolder();
mHolder.addCallback(this);
mHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
}
public void surfaceCreated(final SurfaceHolder holder) {
camera = Camera.open();
try {
camera.setPreviewDisplay(holder);
camera.setPreviewCallback(new PreviewCallback() {
public void onPreviewFrame(byte[] data, Camera arg1) {
invalidar();
}
});
} catch (IOException e) {}
}
public void invalidar(){
invalidate();
}
public void surfaceChanged(SurfaceHolder holder, int format, int w, int h) {
Camera.Parameters parameters = camera.getParameters();
parameters.setPreviewSize(w, h);
camera.setParameters(parameters);
camera.startPreview();
}
@Override
public void draw(Canvas canvas) {
super.draw(canvas);
// nothing gets drawn :(
Paint p = new Paint(Color.RED);
canvas.drawText("PREVIEW", canvas.getWidth() / 2,
canvas.getHeight() / 2, p);
}
}
CEVAP
SurfaceView muhtemelen bu konuda View düzenli gibi çalışmıyor.
Bunun yerine, aşağıdakilerden birini yapın:
- ** 12 içine sok.
FrameLayoutRelativeLayoutdüzeninizi de beri dosya XML, bu aletler istifleme izin ver Z ekseni - Hareket çizim mantığı
ayrı bir özel
Viewsınıfa - Özel Görünümü bir örneğini ekleyin
düzen XML için sınıf olarak bir dosya
FrameLayoutya çocukRelativeLayoutama görünürSurfaceViewsonra
Bu View Özel Sınıf SurfaceView üzerinde yüzer gibi görünmesine neden olur.
Kat SurfaceView bir video oynatmak için kullanılan yukarıda panelleri pop-up See here for a sample project.

Anahtar-çift ssh-agent tarafından kull...
Nasıl kamera ışığını açmak programlı o...
Nasıl android bir çizgi çizmek için...
Nasıl filtre uygulama tarafından logca...
Nasıl vurgulama gibi açıklama yapmak, ...