我想在我以编程方式创建的相对布局中以垂直方向放置滚动。但我的卷轴不起作用。谁能帮我? 这是我正在使用的代码:
RelativeLayout layout = (RelativeLayout) findViewById(R.id.screen1);
for (i = 1; i < 20; i++) {
RelativeLayout.LayoutParams p = new
RelativeLayout.LayoutParams(
150,
RelativeLayout.LayoutParams.WRAP_CONTENT
);
layout.setScrollContainer(true);
ScrollView vscroll = new ScrollView(this);
vscroll.setFillViewport(true);
layout.setVerticalScrollBarEnabled(true);
layout.addView(vscroll);
p.addRule(RelativeLayout.BELOW, i-1);
p.addRule(RelativeLayout.CENTER_HORIZONTAL);
Button buttonView = new Button(this);
buttonView.setId(i);
buttonView.setText(i);
buttonView.setLayoutParams(p);
buttonView.setOnClickListener(new View.OnClickListener() {
public void onClick(View arg0) {
Dialog(((Button)arg0).getId());
} });
layout.addView(buttonView, p);
}
答案 0 :(得分:1)
我认为您需要将buttonViews添加到ScrollView而不是布局。 ScrollView是一个容器视图(如RelativeLayout)。我认为你的代码正在做的是将一个0高度的ScrollView添加到RelativeLayout的顶部,然后再添加一个按钮。由于该按钮不在ScrollView中,因此您的20个按钮不会滚动。
答案 1 :(得分:0)
尝试如下可能有帮助
vscroll.addView(button);