Android: как заставить макет ScrollView, а затем прокрутить до точки? - PullRequest
1 голос
/ 12 января 2011

У меня есть ScrollView, к которому я добавляю несколько пользовательских видов. После добавления пользовательских видов я хотел бы иметь возможность прокручивать до определенного. Но сразу после добавления пользовательских представлений размер ScrollView не изменился, поэтому я не могу прокрутить. Любая идея, как я могу заставить это изменить размер?

for(int i = 0, i < numberOfViews, i++)
{
  scrollView.addView(new MyView(...));
}

//tried this, doesn't seem to be helpful 
scrollView.requestLayout();

//at this point scrollView dimensions are 0,0,0,0 
scrollView.scrollTo(5, 200);

Ответы [ 2 ]

0 голосов
/ 10 мая 2012

Элегантное решение - спланировать прокрутку и сделать это в следующем onLayout (). Пример кода здесь:

https://stackoverflow.com/a/10209457/1310343

0 голосов
/ 12 января 2011

Я не совсем уверен, что вы пытаетесь сделать, но я хотел прокрутить весь путь вниз, и не мог просто сделать это: я должен был сделать это так:

((ScrollView) findViewById(R.id.yourId)).post(new Runnable() {
         public void run() {
             ((ScrollView) findViewById(R.id.yourId)).fullScroll(View.FOCUS_DOWN);
         }
 });

Обновится позже, поэтому ваш взгляд сделан:)

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