在RelativeLayout中的ImageView顶部添加按钮

时间:2011-12-01 11:54:11

标签: android

我正在设计一个棋盘游戏,它由一组静态板顶部的按钮组成。我已将背景图像(棋盘)设置为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。

1 个答案:

答案 0 :(得分:0)

为什么不尝试使用GridView