Android:在Java中以MATCH_PARENT的运行时创建的按钮

时间:2012-01-19 21:26:35

标签: android android-layout

嘿所有人,

import android.widget.Button;

@Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.webpage);

        but_action = new Button(getApplicationContext());
        but_action.setVisibility(Button.INVISIBLE);
        toolbar.addView(but_action);

关于上面的代码,这会创建一个隐藏按钮,我根据某些条件使其可见。这有效,按钮上的逻辑也是如此。

问题是按钮的高度是静态的,而事实并非如此。我需要此按钮来简单地匹配其父项高度(因为您可以在工具栏视图中看到它,这只是一个水平线性布局),因为工具栏的高度在平板电脑大小的视图上是不同的,而不是电话大小的视图。

我听说我需要使用LayoutParams,但我会完全诚实:没有我尝试验证,什么时候验证:什么都不做。并且使用setHeight似乎只接受数值。

我有点陷入困境,我不知道还有什么可以尝试的。

(也有像浮动的东西:正确;用于实时布局?)

1 个答案:

答案 0 :(得分:13)

这应该适合你:

LayoutParams lp = new LayoutParams(LayoutParams.MATCH_PARENT,LayoutParams.MATCH_PARENT);
but_action.setLayoutParams(lp);

请注意,当您导入LayoutParams时,您想要选择与您的父级匹配的那个,因此在这种情况下,您将导入LinearLayout.LayoutParams