0

我有一个包含两个Buttons 和 a的视图TextView。它们是分层的,使用RelativeLayout如下所示:

                  +-----------+
__TextView___     | Button 1  |
                  +-----------+
+-----------+
| Button 2  |
+-----------+

这里的关键是 TextView 和 Button 1 具有相同的高度,由layout_alignTopButton layout_alignBottom1强制执行

按钮 2 被限制为与 TextView 具有相同的宽度(使用layout_alignLeftlayout_alignRight)。

问题是我还希望它具有与 Button 1 相同的高度,使用如下:

layout_height="@id/button_1"

我可以完全通过使用 Layouts 来实现这一点吗?

如果没有,我是否可以在 Activity 中部署一些代码,使用视图强制此帖子布局但在显示之前?

我真的很想避免必须创建一个特殊View的来实现这一点。

在 iOS 领域,我可以具体说明各种控件具有相同的高度或宽度,但我看不到在 Android 中执行此操作的方法。

4

1 回答 1

0

试着把它放在你的活动 onCreate 方法中

Button button1 = (Button) findViewById(R.id.button_1);
Button button2 = (Button) findViewById(R.id.button_2);
RelativeLayout relativeLayout = (RelativeLayout) findViewById(R.id.relativeLayout);
relativeLayout.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {

    @Override
    public void onGlobalLayout() {
        relativeLayout.getViewTreeObserver().removeGlobalOnLayoutListener(this);

        RelativeLayout.LayoutParams btParams = (RelativeLayout.LayoutParams) button2.getLayoutParams();
        int height = button1.getHeight();
        btParams.height = height;
        button2.setLayoutParams(btParams);
    }
});
于 2013-10-13T16:26:46.733 回答