ScrollView alawys, прокручивающий к нижней части

Я определил scrollview с texteedit в моем расположении:

 <ScrollView android:fillViewport="true"
     android:layout_marginBottom="50dip"
     android:id="@+id/start_scroller"
     android:layout_height="fill_parent"
     android:layout_width="fill_parent"
     android:fadingEdge="none">
 <TextView  
    android:id="@+id/text"
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" >
 </TextView>
 </ScrollView>

Я добавляю текст к этому ScrollView со следующим методом:

public void writeToLogView(String textMsg) {
   if (text.getText().equals("")) {
       text.append(textMsg);
   } else {
    text.append("\n" + textMsg);
    scroller.scrollBy(0, 1000000);
   }
}

Поскольку Вы видите, что я добавляю текст и попытку прокрутить к нижней части ScrollView. К сожалению, это не делает работавший правильно. Это прокручивает вниз, но не всегда, и не всегда к нижней части. Какие-либо подсказки?

14
задан 14 May 2010 в 08:13
поделиться

2 ответа

Или после изменения размера представления при использовании scrollView:

scroller.post(new Runnable() { 
    public void run() { 
        scroller.fullScroll(ScrollView.FOCUS_DOWN); 
    } 
}); 
30
ответ дан 1 December 2019 в 07:19
поделиться

После добавления текста попробуйте использовать размеры вашего TextView , чтобы вычислить место прокрутки вместо какой-то константы, например:

scroller.post(new Runnable() {

    public void run() {
        scroller.scrollTo(text.getMeasuredWidth(), text.getMeasuredHeight());
    }
});
7
ответ дан 1 December 2019 в 07:19
поделиться
Другие вопросы по тегам:

Похожие вопросы: