下面列出了android.view.SurfaceView#setZOrderOnTop ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
@Override
protected void onCreate(Bundle savedInstanceState) {
log("onCreate");
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_shoot);
Intent intent = getIntent();
settings = Settings.getFromIntent(intent);
shotCount = 0;
takingPicture = false;
burstShooting = settings.interval == 0;
tvCount = (TextView) findViewById(R.id.tvCount);
tvBattery = (TextView) findViewById(R.id.tvBattery);
tvRemaining = (TextView) findViewById(R.id.tvRemaining);
llEnd = (LinearLayout) findViewById(R.id.llEnd);
reviewSurfaceView = (SurfaceView) findViewById(R.id.surfaceView);
reviewSurfaceView.setZOrderOnTop(false);
cameraSurfaceHolder = reviewSurfaceView.getHolder();
cameraSurfaceHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_multi_surface_test);
// #1 is at the bottom; mark it as secure just for fun. By default, this will use
// the RGB565 color format.
mSurfaceView1 = (SurfaceView) findViewById(R.id.multiSurfaceView1);
mSurfaceView1.getHolder().addCallback(this);
mSurfaceView1.setSecure(true);
// #2 is above it, in the "media overlay"; must be translucent or we will totally
// obscure #1 and it will be ignored by the compositor. The addition of the alpha
// plane should switch us to RGBA8888.
mSurfaceView2 = (SurfaceView) findViewById(R.id.multiSurfaceView2);
mSurfaceView2.getHolder().addCallback(this);
mSurfaceView2.getHolder().setFormat(PixelFormat.TRANSLUCENT);
mSurfaceView2.setZOrderMediaOverlay(true);
// #3 is above everything, including the UI. Also translucent.
mSurfaceView3 = (SurfaceView) findViewById(R.id.multiSurfaceView3);
mSurfaceView3.getHolder().addCallback(this);
mSurfaceView3.getHolder().setFormat(PixelFormat.TRANSLUCENT);
mSurfaceView3.setZOrderOnTop(true);
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_multi_surface_test);
// #1 is at the bottom; mark it as secure just for fun. By default, this will use
// the RGB565 color format.
mSurfaceView1 = (SurfaceView) findViewById(R.id.multiSurfaceView1);
mSurfaceView1.getHolder().addCallback(this);
mSurfaceView1.setSecure(true);
// #2 is above it, in the "media overlay"; must be translucent or we will totally
// obscure #1 and it will be ignored by the compositor. The addition of the alpha
// plane should switch us to RGBA8888.
mSurfaceView2 = (SurfaceView) findViewById(R.id.multiSurfaceView2);
mSurfaceView2.getHolder().addCallback(this);
mSurfaceView2.getHolder().setFormat(PixelFormat.TRANSLUCENT);
mSurfaceView2.setZOrderMediaOverlay(true);
// #3 is above everything, including the UI. Also translucent.
mSurfaceView3 = (SurfaceView) findViewById(R.id.multiSurfaceView3);
mSurfaceView3.getHolder().addCallback(this);
mSurfaceView3.getHolder().setFormat(PixelFormat.TRANSLUCENT);
mSurfaceView3.setZOrderOnTop(true);
}
public PjSipVideo(Context context) {
super(context);
surfaceView = new SurfaceView(context);
surfaceView.getHolder().addCallback(this);
surfaceView.setZOrderOnTop(false);
addView(surfaceView);
}
public PjSipVideo(Context context) {
super(context);
surfaceView = new SurfaceView(context);
surfaceView.getHolder().addCallback(this);
surfaceView.setZOrderOnTop(false);
addView(surfaceView);
}
private void fixZOrder(SurfaceView video, SurfaceView preview) {
video.setZOrderOnTop(false);
preview.setZOrderOnTop(true);
preview.setZOrderMediaOverlay(true); // Needed to be able to display control layout over
}
public void onSwitchRemoteUsers(View view) {
String from = (String) view.getTag();
if (from == null)
return;
String to = (String) localView.getTag();
FrameLayout layout = (FrameLayout) view;
SurfaceView fromView = (SurfaceView) layout.getChildAt(0);
SurfaceView toView = localView;
localViewContainer.removeAllViews();
layout.removeAllViews();
View singleRemoteView = remoteViewContainer.findViewWithTag(from + "view");
UserInfo toUserInfo = RongContext.getInstance().getUserInfoFromCache(to);
UserInfo fromUserInfo = RongContext.getInstance().getUserInfoFromCache(from);
AsyncImageView userPortraitView = (AsyncImageView) singleRemoteView.findViewById(R.id.user_portrait);
TextView backUserNameView = (TextView) singleRemoteView.findViewById(R.id.user_name);
if (toUserInfo != null) {
if (toUserInfo.getPortraitUri() != null) {
userPortraitView.setAvatar(toUserInfo.getPortraitUri().toString(), R.drawable.rc_default_portrait);
}
backUserNameView.setText(toUserInfo.getName());
} else {
backUserNameView.setText(to);
}
singleRemoteView.setTag(to + "view");
fromView.setZOrderOnTop(false);
fromView.setZOrderMediaOverlay(false);
localViewContainer.addView(fromView);
toView.setZOrderOnTop(true);
toView.setZOrderMediaOverlay(true);
layout.addView(toView);
TextView topUserNameView = (TextView) topContainer.findViewById(R.id.rc_voip_user_name);
if (fromUserInfo != null) {
topUserNameView.setText(fromUserInfo.getName());
} else {
topUserNameView.setText(from);
}
layout.setTag(to);
localView = fromView;
localView.setTag(from);
localViewUserId = from;
}