如何以编程方式在屏幕中心放置布局?

时间:2012-10-29 20:45:00

标签: android-layout

layout1由顶部的状态栏和屏幕底部的工具栏组成。它以xml定义。 我想以编程方式在layout1的状态栏和工具栏之间放置layout2。

setContentView(R.layout.layout1);
layout2 = new MyLayout(this);
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(
    LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
params.leftMargin = 0;
params.addRule(RelativeLayout.BELOW, R.id.statusbar); // this does not work.
addContentView(layout2, params);

此代码将layout2放在屏幕顶部,以便隐藏layout1的状态栏。如何将layout2放在我想要的位置? 还有其他方法没有使用addContentView吗?

2 个答案:

答案 0 :(得分:2)

LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
    LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);

params.gravity = Gravity.CENTER;

我尝试过这项工作。

答案 1 :(得分:0)

以编程方式在线性布局中设置重力。

LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
        LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);

    params.gravity = Gravity.CENTER;