我正在设计一个棋盘游戏,它由一组静态板顶部的按钮组成。我已将背景图像(棋盘)设置为ScrollView内部的ImageView,以处理棋盘的滚动,因为它太大而无法在屏幕上查看。然后我创建一个RelativeLayout并添加各种按钮。这样我就可以根据需要将按钮放在电路板周围,但是当我滚动时,按钮会停留在屏幕上,导致它们移出位置。有没有办法让按钮处于静止位置,同时允许我在电路板上滚动?
以下是我的一些代码:
super.onCreate(savedInstanceState);
RelativeLayout outerLayout = new RelativeLayout(this);
outerLayout.setLayoutParams(new LayoutParams(1200,1200));
RelativeLayout buttonLayout = new RelativeLayout(this);
buttonLayout.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.FILL_PARENT));
final ImageView i = new ImageView(this);
i.setImageResource(R.drawable.board);
i.setScaleType(ImageView.ScaleType.CENTER);
i.setAdjustViewBounds(true);
i.setLayoutParams(new LayoutParams(1200,1500));
final Button b1 = new Button(this);
b1.setText("1");
b1.setTextSize(8);
buttonLayout.addView(b1);
b1.setId(1);
RelativeLayout.LayoutParams rp = new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
rp.addRule(RelativeLayout.CENTER_IN_PARENT,-1);
b1.setLayoutParams(rp);
Button b2 = new Button(this);
b2.setText("2");
b2.setTextSize(8);
buttonLayout.addView(b2);
b2.setId(2);
RelativeLayout.LayoutParams r2 = new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
r2.addRule(RelativeLayout.RIGHT_OF, 1);
b2.setLayoutParams(r2);
ScrollView sv = new ScrollView(this);
sv.addView(i);
outerLayout.addView(sv);
outerLayout.addView(buttonLayout);
另外,如果您能以编程方式提供答案,那么我的教授不希望我们使用XML。