我正在编写一个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;你能帮我解决一下这个问题吗?
答案 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;
没有这条线你会遇到问题。