我正在尝试在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
(包含我的WebView
和Button
)。原因是因为我只想在到达网页末尾时显示Button
。
答案 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);