Android 如何以编程方式在相对布局中对齐按钮下方的网络视图?
我有一个类扩展了RelativeLayout。在这里面我有另一个相对的布局,它有一定的高度和宽度,在里面我有一个webview和一个按钮。此按钮位于第二个相对布局的右上角。我根据在开关盒中传递的枚举,在第二个相对布局的顶部、左侧、右侧、底部和中心设置webview的位置。我面临的问题是,当我将webview设置在顶部时,它与按钮重叠,并且按钮不可见。 这是我的代码:Android 如何以编程方式在相对布局中对齐按钮下方的网络视图?,android,android-layout,Android,Android Layout,我有一个类扩展了RelativeLayout。在这里面我有另一个相对的布局,它有一定的高度和宽度,在里面我有一个webview和一个按钮。此按钮位于第二个相对布局的右上角。我根据在开关盒中传递的枚举,在第二个相对布局的顶部、左侧、右侧、底部和中心设置webview的位置。我面临的问题是,当我将webview设置在顶部时,它与按钮重叠,并且按钮不可见。 这是我的代码: enum position { Top, Bottom, Left, Right, Center }; public
enum position {
Top, Bottom, Left, Right, Center
};
public class Sample extends RelativeLayout {
RelativeLayout layout = new RelativeLayout(context);
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(
width, height);
addView(layout, params);
closeButton = new Button(context);
closeButton.setId(1);
closeButton.setText("X");
RelativeLayout.LayoutParams child1Params = new RelativeLayout.LayoutParams(
RelativeLayout.LayoutParams.WRAP_CONTENT,
RelativeLayout.LayoutParams.WRAP_CONTENT);
child1Params.addRule(RelativeLayout.ALIGN_PARENT_TOP);
child1Params.addRule(RelativeLayout.ALIGN_PARENT_RIGHT);
layout.addView(closeButton, child1Params);
closeButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
closePressed();
}
});
RelativeLayout.LayoutParams child2Params = new RelativeLayout.LayoutParams(
RelativeLayout.LayoutParams.WRAP_CONTENT,
RelativeLayout.LayoutParams.WRAP_CONTENT);
switch (position) {
case Top:
webView = new WebView(context);
child2Params.addRule(RelativeLayout.ALIGN_PARENT_TOP);
layout.addView(webView, child2Params);
break;
case Bottom:
webView = new WebView(context);
child2Params.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM);
layout.addView(webView, child2Params);
break;
case Left:
webView = new WebView(context);
child2Params.addRule(RelativeLayout.ALIGN_PARENT_LEFT);
layout.addView(webView, child2Params);
break;
case Right:
webView = new WebView(context);
child2Params.addRule(RelativeLayout.ALIGN_PARENT_RIGHT);
layout.addView(webView, child2Params);
break;
case Center:
webView = new WebView(context);
child2Params.addRule(RelativeLayout.CENTER_VERTICAL);
layout.addView(webView, child2Params);
break;
default:
webView = new WebView(context);
child2Params.addRule(RelativeLayout.CENTER_VERTICAL);
layout.addView(webView, child2Params);
break;
}
}
您能告诉我如何设置按钮下方的网络视图,使其始终显示在按钮下方,而按钮不隐藏在按钮下方吗?
谢谢。看看这个……谢谢你的回复。我尝试为RelativeLayout.LayoutParams child2Params=新建RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_内容,RelativeLayout.LayoutParams.WRAP_内容);addRule(RelativeLayout.BELOW,closeButton.getId());但它仍然不起作用。网络视图与按钮重叠。