使用Layout来添加SurfaceView和其他的控件在一起

具体方法:

1. desktop.xml

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

       <com.zhai.rdp.RdpSurfaceView
        android:id="@+id/rdpSurfaceview"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />

    <com.antlersoft.android.zoomer.ZoomControls
        android:id="@+id/zoomer"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="bottom|right" />

 

</FrameLayout>

2. onCreate

setContentView(R.layout.desktop);
    this.mRdpSurfaceView = (RdpSurfaceView)findViewById(R.id.rdpSurfaceview);

3.SurfaceView的构造方法,必须使用带两个参数的构造方法

public RdpSurfaceView(Context context, AttributeSet attrs) {
        super(context, attrs);
        this.context = context;
        mSurfaceHolder = this.getHolder();
        // 添加回调
        mSurfaceHolder.addCallback(this);
        // this.setFocusable(true);
        mbLoop = true;
    }

4.最后的效果图

rdp