2012-07-31 37 views
0

我在使用这段代码困难:安卓:如何申请的LayoutParams我的RelativeLayout

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 

    RelativeLayout layout = (RelativeLayout)findViewById(R.id.RelativeLayout1); 
    RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT); 

我有我的RelativeLayout1在这样的XML:

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" 
android:id="@+id/ScrollView" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
android:orientation="vertical" > 

<RelativeLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/RelativeLayout1" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:orientation="vertical" 
    android:paddingLeft="60dp" 
    android:paddingTop="53dp" > 

但在我申请的时候scrollview,RelativeLayout1的fill_parent不能像它不是scrollview的子节点时那样工作。当它不是一个孩子时(即我完全移除滚动视图),那么相对布局覆盖整个屏幕,因为我喜欢它。但是当我把它放在scrollview中时,即使我使用了fill_parent,它也只能到达相关布局中的最后一个元素(一个按钮)。

所以我试图通过编程来查看它是否有所作为,但我似乎无法弄清楚如何将我的params变量应用到我的布局中的第一位代码。如果您有任何其他想法,请让我知道。

回答

1

您忘记了调用setter方法layout.setLayoutParams(params)。 要应用您创建的参数,您必须将它们提供给实际布局。

当父母是ScrollView时,请谨慎使用fill_parent。随着“滚动”视图将其大小调整为其子级。

+0

谢谢!这看起来不错。 – capcom 2012-07-31 13:20:03

0

我想通过向scrollview添加一个字段而不是以编程方式执行此操作来解决我的问题。在滚动型,我不得不设置如下:

android:fillViewport="true" 
0

属性android:fillViewport="true"添加到您的滚动型,如果你想在RelativeLayout的填补了滚动。

见罗曼盖伊的一篇关于此相同:ScrollView's handy trick

相关问题