나는 이것을 시험해 보지 않는다.
public class Preview_can_work extends Activity {
private SurfaceView surface_view;
SurfaceHolder.Callback sh_ob = null;
SurfaceHolder surface_holder = null;
SurfaceHolder.Callback sh_callback = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getWindow().setFormat(PixelFormat.TRANSLUCENT);
surface_view = new SurfaceView(getApplicationContext());
addContentView(surface_view, new LayoutParams(50, 50));
if (surface_holder == null) {
surface_holder = surface_view.getHolder();
}
sh_callback = my_callback(); // CREATING CALLBACK FOR YOUR SURFACE.
surface_holder.addCallback(sh_callback);
}
// THIS FUNCTION RETURNS CALLBACK OBJECT FOR SURFACEVIEW.
SurfaceHolder.Callback my_callback() {
SurfaceHolder.Callback ob1 = new SurfaceHolder.Callback() {
@Override
public void surfaceDestroyed(SurfaceHolder holder) {
}
@Override
public void surfaceCreated(SurfaceHolder holder) {
}
@Override
public void surfaceChanged(SurfaceHolder holder, int format, int width,
int height) {
}
};
return ob1;
}
}
이제 레이아웃에 텍스트보기 나 버튼을 추가하면됩니다.
참고 : - 표면을 동적으로 생성합니다. 귀하의 경우에는 XML 파일에서 모든 것을 만들 수 있습니다. 표면 뷰를 작성하는 대신 비디오 뷰를 작성하십시오.
SurfaceView surface_view = (SurfaceView) findViewById (R.id.video_view_id);
레이아웃에서 ID별로 뷰를 가져 오는 경우 코드에서 일부 행을 제거해야합니다. 이는 다음과 같습니다
surface_view = new SurfaceView(getApplicationContext());
addContentView(surface_view, new LayoutParams(50, 50));
그것은 당신을 도울 것입니다 희망 ...