LayoutParams:如何将按钮放在底部

时间:2011-05-27 17:07:10

标签: android android-layout

我正在尝试在webview的底部放置一个按钮。出于某种原因,它一直出现在顶部。这是我的代码:

    webview = new WebView(this);
    RelativeLayout.LayoutParams params2 = new RelativeLayout.LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.FILL_PARENT);
    Button myButton = new Button(this);
    myButton.setId(11);
    LayoutParams buttonParams = new LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);

    //          params.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM);
    myButton.setText("A Button!");
    myButton.setLayoutParams(new LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT));

    buttonParams.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM, -1);
    myButton.setLayoutParams(buttonParams);

    webview.setLayoutParams(params2);
    //setBackgroundcolor(0) - You must make the background color transparent before setting backgroundResource
    webview.setBackgroundColor(0);
    webview.setBackgroundResource(R.drawable.background);
    webview.addView(myButton);

编辑 -

我要继续在xml中设置可重用视图的基础。我只会使用ScrollView内部RelativeLayout(包含我的WebViewButton)。原因是因为我只想在到达网页末尾时显示Button

3 个答案:

答案 0 :(得分:3)

WebView扩展了AbsoluteLayout,因此您无法使用RelativeLayout.LayoutParams。此外,AbsoluteLayout已弃用,WebView绝对不是用作容器的视图。

您可以将RelativeLayout叠加在WebView FrameLayout上,将它们放在{{1}}中,它们会堆积起来,最后一个视图(您的RelativeLayout)位于顶部。< / p>

答案 1 :(得分:2)

WebView扩展AbsoluteLayout,而非RelativeLayout,因此为RelativeLayout添加规则不会产生任何影响。尝试将按钮的布局重力设置为底部。

答案 2 :(得分:2)

buttonParams.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM, RelativeLayout.TRUE);