【发布时间】:2016-01-24 19:44:06
【问题描述】:
我的应用由屏幕组成,4 个视图以 2 x 2 的表格布局排列。每个视图都显示视频
每个视图都包含播放控件。当我按下按钮使 view3 全屏显示应用程序如下所示。 View2 重叠到全屏 view3。我只想将 View3 显示为全屏并避免 View2。
以下代码用于隐藏/显示视图
@Override
public void toggleFullScreen()
{
mbFullscreen = !mbFullscreen;
mStrTmp = "";
Trace((ViewGroup)getRootView(), mbFullscreen);
mMessage.setText(mStrTmp);
}
private void Trace(ViewGroup layout, boolean bFullScreen ) {
View FullScreenChild = null;
ViewGroup FullScreenLayout = null;
for( int i = 0; i < layout.getChildCount(); i++){
View child = layout.getChildAt(i);
if( child instanceof MtxVideoView ){
if( child == this ){
FullScreenChild = child;
FullScreenLayout = layout;
}
layout.setVisibility(bFullScreen?View.GONE:View.VISIBLE);
child.setVisibility(bFullScreen?View.GONE:View.VISIBLE);
}
else if (child instanceof ViewGroup) {
Trace((ViewGroup) child, bFullScreen);
}
}
if(bFullScreen){
if( FullScreenLayout != null )
FullScreenLayout.setVisibility(View.VISIBLE);
if( FullScreenChild != null ){
FullScreenChild.setVisibility(View.VISIBLE);
mStrTmp = mStrTmp + "FullScreen";
}
}
}
预期输出如下所示
【问题讨论】:
标签: android android-layout android-view