Изменение позиции прокрутки в Android - PullRequest
2 голосов
/ 23 декабря 2011

Я пишу приложение для Android, у которого есть представление прокрутки, которое содержит линейное отображение:

<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">

Как видите, верхний край поля прокрутки равен 240dip.Я хочу иметь возможность изменить это в моем коде Java.Я попробовал это:

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

Но я не могу сделать это: params.top = 100;Не могли бы вы помочь мне, как я могу это сделать?

Ответы [ 2 ]

4 голосов
/ 24 декабря 2011

Что вы имеете в виду, что вы "не можете этого сделать". Вам нужно будет сделать 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 голос
/ 02 июля 2013

Попробуйте

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

без линии у вас будут проблемы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...