2012-09-26 178 views
0

我遇到了问题,我的应用程序,基本上我有这样的几个布局: | ABC | 每个字母描述一个布局(A是相对布局)。 当我将图像视图添加到相对布局时,此图像视图 可以移动到所有布局。但相对布局变得拉伸到整个屏幕的宽度。 | A |所以基本上你不能再看到B,C布局了。相对布局的布局参数

这是我的函数:

public void startGame(){ 
    int i; 
    for(i=0;i<currentLevelObs.size();i++){ 
     if(currentLevelObs.get(i)==Globals.OBS_ENTRY_INDEX) 
      break; 
    } 


    lp = new RelativeLayout.LayoutParams(
        RelativeLayout.LayoutParams.FILL_PARENT, 
        RelativeLayout.LayoutParams.FILL_PARENT); 
    lp.addRule(RelativeLayout.BELOW, (i+1)); 
    lp.addRule(RelativeLayout.RIGHT_OF, i); 
    lp.leftMargin = 25; 


    ImageView img = new ImageView(this); 
    img.setLayoutParams(lp); 
    img.setBackgroundResource(R.drawable.hero); 
    gameLayout.addView(img); 

} 

这个函数从onCreate方法调用。

回答

0

您已将layout width设置为fill parent.因此,它将占用整个屏幕。那就是问题所在。将其更改为wrap-content然后检查。

+0

谢谢你的快速反应。当图像视图移动图像正在消失时,我已尝试此解决方案 –

0

将您的ABC布局添加到ScrollView,这样您可以向下滚动以查看BC

它应该是这样的:

<ScrollView 
.. 
... 
....> 
<D 
..> 
A 
B 
C 
</D> 
</ScrollView> 

滚动型只能包含1名儿童,因此,保持你ABCD布局是在ScrollView

+0

相对布局设置为固定大小。我的应用程序读取障碍文件(每个级别的所有障碍物的位置),所以我不能使用滚动视图。 –