2012-11-17 59 views
3

我有一个LinearLayout(垂直横向),包含2个RelativeLayouts,每个包含1个按钮。 在左边的RelativeLayout中,按钮居中父对象。在正确的RelativeLayout中有一个稍大的按钮。 我想让那个更大的按钮的底部与另一个按钮的高度相同。像这样:Android:将视图放在与其他视图相同的高度

enter image description here

你知道我怎么能做到这一点?

很多感谢

回答

1

使用getBottom()和getWidth分别在onWindowFocusChanged中获取较小按钮的底部位置和宽度。

在运行时创建另一个按钮。将顶部填充设置为第二个相对布局,作为button1的bottom_position - height_of_button2。

在设置了所需的高度和宽度(从butoon1的getWidth获得)之后,将此按钮添加到第二个相对布局。

下面是示例: -

public void onWindowFocusChanged(boolean hasFocus) { 
     relative_layout_two = (RelativeLayout) findViewById(R.id.rl2); 
     int bottom_position_of_button1 = bt1.getBottom(); 
     int width_of_button1 = bt1.getWidth(); 
     bt2 = new Button(getApplicationContext()); 
     rl.setPadding(0, bottom_position_of_button1-200, 0, 0);// I have taken 200 as the height of second button 
     rl.addView(bt2, width_of_button1, 200); 

    }; 

希望这有助于!

+0

这必须做的伎俩,谢谢! – Xander

+0

顺便说一句,如果我在onCreate()而不是onWindowFocusChanged中执行此操作,可以吗? – Xander

+0

BTW2,我得到dip或px的宽度和底部位置? – Xander

1

使用Android:在两个按钮layout_alignParentBottom,然后应用的Android版本:在两个相同的值layout_marginBottom。

+0

那么,比左边的按钮不一定在中间,是吗? – Xander

+0

我不确定您是否可以保持居中,并将两者都调整到距底部相同的距离。除非你愿意手动进行像素计算,但这会变得很难看。 –

+0

嗯,这是一个无赖 – Xander

相关问题