有没有类似于" bringToFront()"的方法?线性布局?

时间:2015-07-18 03:02:40

标签: android android-layout surfaceview

好吧,我制作的游戏使用了从SurfaceView延伸的类来代表游戏画面,但是它可以与按钮一起使用,所以我定义了"按钮面板"在xml上然后添加" GameView"到LinearLayout,它包含所有的东西,以编程方式并带来"按钮面板"前面,就像这样:

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    LinearLayout rl1 = (LinearLayout)findViewById(R.id.rl1);
    rl1.addView(new GameView(this));
    SquareLayout sq1 = (SquareLayout)findViewById(R.id.square);
    //the control buttons are in another custom layout called "SquareLayout"
    sq1.bringToFront();
}

这里的问题是我希望包含游戏按钮(SquareLayout)的布局填充RelativeLayout高度的一半(活动设置为横向),我将RelativeLayout变为垂直LinearLayout ,添加另一个SquareLayout,并将权重的属性设置为1,它是这样的:

enter image description here

现在的问题是" bringToFront();"方法不适用于LinearLayout,所以我在添加游戏视图后无法修改按钮面板的z,所以我的问题是,是否有一种方法可以使按钮面板就像在图像上一样RelativeLayout或类似的方法,如" bringToFront()"适用于LinearLayout。

1 个答案:

答案 0 :(得分:0)

尝试在LinearLayout http://developer.android.com/reference/android/view/ViewGroup.html#bringChildToFront(android.view.View)上调用方法bringChildToFront(View)。该参数将是您要在其兄弟姐妹之上显示的视图。