我想在Android中定义RelativeLayout视图的z顺序.
我知道这样做的一种方法是打电话bringToFront.
有更好的方法吗?如果我可以在布局xml中定义z顺序会很棒.
在我的申请中,我LinearLayout正好在彼此之上.通过一个菜单选项,我希望能够使底部消失,让顶部的一个落在消失的上面LinearLayout.
问题是,我不知道如何在Java中这样做.
它不需要动画,我想隐藏Layout另一个活动(菜单)的返回,在OnActivityResult.菜单activity设置了boolean我签入的内容OnActivityResult,根据它的值,我确定是否需要隐藏或显示底部Layout:
// Only change value if it is different from what it was.
if(mUseVolumeButtonAsPTT != resultData.getBoolean("UseVolumeButtonAsPTT")){
mUseVolumeButtonAsPTT = resultData.getBoolean("UseVolumeButtonAsPTT");
if(!mUseVolumeButtonAsPTT){
// Hide lower LinearLayout.
} else {
// Show lower LinearLayout.
}
}
Run Code Online (Sandbox Code Playgroud)
任何人都可以给我一个关于如何做到这一点的提示或链接?
在app我有:
LinearLayout linearLayout2 = (LinearLayout) findViewById(R.id.cvLinearLayout2);
Run Code Online (Sandbox Code Playgroud)
和后:
linearLayout2.setVisibility(View.GONE);
Run Code Online (Sandbox Code Playgroud)
我找不到办法带linearLayout2回来.
尝试了一切:
linearLayout2.setVisibility(View.VISIBLE);
linearLayout2.bringToFront();
linearLayout2.getParent().requestLayout();
linearLayout2.forceLayout();
linearLayout2.requestLayout();
linearLayout2.invalidate();
Run Code Online (Sandbox Code Playgroud)
但没有结果.
linearLayout2有一个父母linearLayout1,所以我也试过:
linearLayout1.requestLayout();
linearLayout1.invalidate();
Run Code Online (Sandbox Code Playgroud)
仍然没有结果.linearLayout2留下来GONE.在我的应用程序中,我需要linearLayout离开,然后,过一会儿再次重绘它.请帮忙.