更改scrollview在Android中的位置

时间:2011-12-23 19:52:32

标签: android position

我正在编写一个Android应用程序,其中包含一个包含linearlayout的滚动视图:

<ScrollView android:id="@+id/ScrollView01"
        android:layout_width="fill_parent" 
        android:layout_height="fill_parent"  
        android:layout_gravity=top"
        android:layout_marginTop="240dip"
        android:layout_marginRight="0dip"
        android:layout_marginBottom="60dip">

         <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/centerlayout"
        android:orientation="vertical"
        android:layout_width="fill_parent" 
                android:layout_height="fill_parent" 
                android:layout_gravity="top"
                android:layout_marginRight="20dip"
                android:layout_marginLeft="10dip"
            android:layout_marginBottom="120dip">

如您所见,scrollview的margin top是“240dip”。我希望能够在我的Java代码中更改它。我试过这个:

ScrollView scrollView=(ScrollView)findViewById(R.id.ScrollView01);
LayoutParams  params=scrollView.getLayoutParams();

但我不能这样做:params.top = 100;你能帮我解决一下这个问题吗?

2 个答案:

答案 0 :(得分:4)

你是什么意思“你不能这样做”。您必须params.top=100;然后scrollView.setLayoutParams(params);

但您可以将其更改为:

ScrollView scrollView=(ScrollView)findViewById(R.id.ScrollView01);
FrameLayout.LayoutParams params = new FrameLayout.LayoutParams(scrollView.getLayoutParams());
params.topMargin = 100;
scrollView.setLayoutParams(params);

答案 1 :(得分:1)

尝试

params.gravity = Gravity.LEFT | Gravity.TOP;

没有这条线你会遇到问题。